def prepare_training_data():
names = os.listdir(DATA_PATH)
names = sorted(names)
nums = names.__len__()
data = numpy.zeros((nums * Random_Crop, 1, Patch_size, Patch_size), dtype=numpy.double)
label = numpy.zeros((nums * Random_Crop, 1, label_size, label_size), dtype=numpy.double)
for i in range(nums):
name = DATA_PATH + names[i]
hr_img = cv2.imread(name, cv2.IMREAD_COLOR)
shape = hr_img.shape
hr_img = cv2.cvtColor(hr_img, cv2.COLOR_BGR2YCrCb)
hr_img = hr_img[:, :, 0]
# produce Random_Crop random coordinate to crop training img
if(min(shape[0], shape[1]) - label_size < 0):
continue
Points_x = numpy.random.randint(0, min(shape[0], shape[1]) - label_size, Random_Crop)
Points_y = numpy.random.randint(0, min(shape[0], shape[1]) - label_size, Random_Crop)
for j in range(Random_Crop):
hr_patch = hr_img[Points_x[j]: Points_x[j] + label_size, Points_y[j]: Points_y[j] + label_size]
lr_patch = cv2.resize(hr_patch, (label_size / scale, label_size / scale), cv2.INTER_CUBIC)
lr_patch = lr_patch.astype(float) / 255.
hr_patch = hr_patch.astype(float) / 255.
data[i * Random_Crop + j, 0, :, :] = lr_patch
label[i * Random_Crop + j, 0, :, :] = hr_patch
# cv2.imshow("lr", lr_patch)
# cv2.imshow("hr", hr_patch)
# cv2.waitKey(0)
return data, label
评论列表
文章目录