python 深度学习 GOPRO数据集的裁剪
数据集样式生成数据集样式代码import numpy as npimport matplotlibfrom matplotlib import pyplot as pltimport cv2import PILimport json, osimport sysfrom PIL import Imageimport labelmeimport labelme.utils...
·
数据集样式
下载地址:https://drive.google.com/file/d/1SlURvdQsokgsoyTosAaELc4zRjQz9T2U/view?usp=sharing
生成数据集样式
代码
import numpy as np
import cv2
import os
trainDataPath=r'F:\BaiduNetdiskDownload\DATA\train'
testDataPath=r'F:\BaiduNetdiskDownload\DATA\test'
origin_path=r'F:\BaiduNetdiskDownload\U_net_dataset\train'
label_path=r'F:\BaiduNetdiskDownload\U_net_dataset\train'
x_trainpath=r'F:\BaiduNetdiskDownload\deblugData\train\x'
y_trainpath=r'F:\BaiduNetdiskDownload\deblugData\train\y'
x_testpath=r'F:\BaiduNetdiskDownload\deblugData\test\x'
y_testpath=r'F:\BaiduNetdiskDownload\deblugData\test\y'
def cropping(path,Xsavepath,Ysavepath):
def readFileDocument(path, layer):#read doucument
layerN = layer
fileDocument = os.listdir(path)
subDocument = []
for document in fileDocument:
if layerN > 0:
if (os.path.isdir(path + '/' + document, )):
subDocument.append((readFileDocument(path + '/' + document, layerN - 1)))
else:
subDocument.append(path + '/' + document)
return subDocument
document_location = readFileDocument(path, 1)
cropping_height = 256
cropping_width = 256
number = 0 #total number of dataset to produce
imgNumber = 10 #every img produce number
for document in document_location:
blur = []
sharp = []
for subducument in document:
path,name = os.path.split(subducument)
if name == 'blur':
blur.append(subducument)
if name == 'sharp':
sharp.append(subducument)
origin_list= glob.glob(blur[0]+'/*.png')
origin_list.sort()
label_list= glob.glob(sharp[0] +'/*.png')
label_list.sort()
zipped = itertools.cycle(zip(origin_list,label_list))
for k in range(len(origin_list)):
origin_position,label_position=next(zipped)
origin_img=cv2.imread(origin_position,-1)
label_img =cv2.imread(label_position,-1)
shape = origin_img.shape
i=0
while i<imgNumber:
y=np.random.randint(0, shape[0]-cropping_height)
x=np.random.randint(0, shape[1]-cropping_width)
cropping1 = origin_img[y:(y + cropping_height),x:(x + cropping_width)]
cropping3 = label_img[y:(y + cropping_height),x:(x + cropping_width)]
cv2.imwrite(Xsavepath + '/' + str(number) + '.png', cropping1)
cv2.imwrite(Ysavepath + '/' + str(number) + '.png', cropping3)
i=i+1
number += 1
print('number',number)
if i ==20 :
break
if __name__ == '__main__':
cropping(trainDataPath,x_trainpath,y_trainpath)
cropping(testDataPath,x_testpath,y_testpath)
更多推荐
已为社区贡献1条内容
所有评论(0)