第一步 labelimg標注數(shù)據(jù)進行處理 數(shù)據(jù)來自于實驗室的布匹瑕疵檢測項目,其中這里是標簽的信息,,每個txt是對一個圖片瑕疵的標注,,一個txt的一行是:瑕疵種類編號 bbox中心點橫坐標 bbox中心點縱坐標 bbox寬 bbox高,我們需要最終用長寬比以及面積制作一個散點圖,。
@1 將多個TXT文本組合成一個代碼如下 # coding=utf-8
import os
import os.path # 文件夾遍歷函數(shù)
# 獲取目標文件夾的路徑
filedir = 'F:\\cpanzhuomian\\label'
# 獲取當前文件夾中的文件名稱列表
filenames = os.listdir(filedir)
# 打開當前目錄下的result.txt文件,,如果沒有則創(chuàng)建
f = open('result.txt', 'w')
# 先遍歷文件名
for filename in filenames:
filepath = filedir '/' filename
# 遍歷單個文件,讀取行數(shù)
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函數(shù)將數(shù)據(jù)進行增刪改成最終想要的x軸數(shù)據(jù)y軸數(shù)據(jù),,這一步相信很多人都會,,略過 第二步 用csv數(shù)據(jù)畫出散點圖代碼如下 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 ,感謝觀看
|