数据集样式
下载地址:https://drive.google.com/file/d/1SlURvdQsokgsoyTosAaELc4zRjQz9T2U/view?usp=sharing
生成数据集样式
代码
import numpy as np
import cv2
import ostrainDataPath=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 doucumentlayerN = layerfileDocument = 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 subDocumentdocument_location = readFileDocument(path, 1)cropping_height = 256cropping_width = 256number = 0 #total number of dataset to produceimgNumber = 10 #every img produce numberfor 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.shapei=0while 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+1number += 1print('number',number)if i ==20 :break
if __name__ == '__main__':cropping(trainDataPath,x_trainpath,y_trainpath)cropping(testDataPath,x_testpath,y_testpath)