labelimg标注数据处理以及画散点图(python)

labelimg标注数据处理以及画散点图(python)

第一步 labelimg标注数据进行处理

label标注数据

数据具体内容
数据来自于实验室的布匹瑕疵检测项目,其中这里是标签的信息,每个txt是对一个图片瑕疵的标注,一个txt的一行是:瑕疵种类编号 bbox中心点横坐标 bbox中心点纵坐标 bbox宽 bbox高,我们需要最终用长宽比以及面积制作一个散点图。

@1 将多个TXT文本组合成一个

代码如下

# coding=utf-8
import os
import os.path  # 文件夹遍历函数

# 获取目标文件夹的路径
filedir = 'F:\\cpanzhuomian\\label'
# 获取当前文件夹中的文件名称列表
filenames = os.listdir(filedir)
# 打开当前目录下的result.txt文件,如果没有则创建
f = open('result.txt', 'w')
# 先遍历文件名
for filename in filenames:
    filepath = filedir + '/' + filename
    # 遍历单个文件,读取行数
    for line in open(filepath):
        f.writelines(line)
    f.write('\n')
# 关闭文件
f.close()

结果多个TXT文本合并为一个TXT文本图片合成成功

@2 将TXT文本中空格转换成逗号并保存为csv格式

ls = open("D:\\sandiantu\\new.txt").readlines()
newTxt = ""
for line in ls:
    newTxt = newTxt + ",".join(line.split()) + "\n"
print(newTxt)

fo = open("D:\\sandiantu\\new11.csv", "w")
fo.write(newTxt)
fo.close()

最后结果处理好的数据
保存为csv格式后用Excel函数将数据进行增删改成最终想要的x轴数据y轴数据,这一步相信很多人都会,略过

第二步 用csv数据画出散点图

代码如下

import pandas as pd
import matplotlib.pyplot as plt
hw=pd.read_csv('new11.csv')#导入csv文件
plt.scatter(hw['height/weight'], hw['squar'],s=2)#s指的是点的面积
plt.xlabel(u"squar")
plt.ylabel(u"height/weight")
#画出散点图
plt.show()
#将散点图显示出来

最终效果散点图

最终的小小说明

在这个过程中,你可能需要将TXT中多余进行删除
代码如下

"""
读取存在空行的文件,删除其中的空行,并将其保存到新的文件中
"""

with open('D:\\sandiantu\\result.txt','r',encoding = 'utf-8') as fr,open('new.txt','w',encoding = 'utf-8') as fd:
        for text in fr.readlines():
                if text.split():
                        fd.write(text)
        print('输出成功....')

That’s all ,感谢观看

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值