Lab-VOC資料集(多分類)製作
阿新 • • 發佈:2022-04-17
Lab-VOC資料集(多分類)製作
1.使用精靈標記助手標註
- 標記時對一張圖片標記四次
- 匯出時一張原圖對應四張標記圖
- 處理標記圖時預先將標記圖分為四類,對應每一分類,檔案數量相同且與原圖數量相等(這一步手動操作比較麻煩)
我的資料夾設定
轉換灰度
- 執行四次,每次更改對應路徑
import cv2 import os path = 'attachments/0' path1 = 'attachments/0_puts' file_list = os.listdir(path) for file in file_list: I = cv2.imread(path+'/'+file) imGray = cv2.cvtColor(I, cv2.COLOR_BGR2GRAY) cv2.imwrite(path1+"/"+file,imGray) cv2.imshow('frame',imGray) cv2.waitKey(1)
灰度設值
- 我把四類分別設定成了固定值10,11,12,13
- 執行四次,每次更改對應路徑
import cv2 as cv import os path = 'attachments/3_puts' path1 = 'attachments/3_puts_13' file_list = os.listdir(path) for file in file_list: img=cv.imread(path+"/"+file) imgCopy = img imgCopy[imgCopy > 0] = 13 cv.imwrite(path1+"/"+file,imgCopy)
四圖合成
import os import cv2 import numpy as np def fourPicCompose(img0,img1,img2,img3): imgResult = np.zeros((512,512)) # 已知圖片大小 imgResult = img0 + img1 + img2 + img3 imgResult[imgResult > 20] = 10 # 防止重合,重合時值設定為第一類的值 return imgResult path = 'attachments/0_puts_10' file_list = os.listdir(path) for file in file_list: fileName=file[:-5] # 得到檔案的基礎名'(?)_' print(fileName) #讀取四個檔案塊的特定名稱的圖片, img0=cv2.imread('attachments/'+'0_puts_10'+'/'+fileName+'1.png',cv2.IMREAD_GRAYSCALE) img1=cv2.imread('attachments/'+'1_puts_11'+'/'+fileName+'2.png',cv2.IMREAD_GRAYSCALE) img2=cv2.imread('attachments/'+'2_puts_12'+'/'+fileName+'3.png',cv2.IMREAD_GRAYSCALE) img3=cv2.imread('attachments/'+'3_puts_13'+'/'+fileName+'4.png',cv2.IMREAD_GRAYSCALE) # 得到四合一合成圖 imgResult=fourPicCompose(img0,img1,img2,img3) cv2.imshow('frame',imgResult) cv2.waitKey(1) cv2.imwrite('attachments/results/'+fileName+'.png',imgResult)
Tips
- 無論用cv2還是PIL轉換灰度圖,直接讀取後圖片的shpae還是[???,???,3]。使用cv2讀取時加上引數得cv2.imread(???,cv2.IMREAD_GRAYSCALE)