def prepare_crop_data(_path):
names = os.listdir(_path)
names = sorted(names)
nums = names.__len__()
data = []
label = []
for i in range(nums):
name = _path + names[i]
hr_img = cv2.imread(name, cv2.IMREAD_COLOR)
hr_img = cv2.cvtColor(hr_img, cv2.COLOR_BGR2YCrCb)
hr_img = hr_img[:, :, 0]
shape = hr_img.shape
# two resize operation to produce training data and labels
lr_img = cv2.resize(hr_img, (shape[1] / scale, shape[0] / scale))
lr_img = cv2.resize(lr_img, (shape[1], shape[0]))
width_num = (shape[0] - (BLOCK_SIZE - BLOCK_STEP) * 2) / BLOCK_STEP
height_num = (shape[1] - (BLOCK_SIZE - BLOCK_STEP) * 2) / BLOCK_STEP
for k in range(width_num):
for j in range(height_num):
x = k * BLOCK_STEP
y = j * BLOCK_STEP
hr_patch = hr_img[x: x + BLOCK_SIZE, y: y + BLOCK_SIZE]
lr_patch = lr_img[x: x + BLOCK_SIZE, y: y + BLOCK_SIZE]
lr_patch = lr_patch.astype(float) / 255.
hr_patch = hr_patch.astype(float) / 255.
lr = numpy.zeros((1, Patch_size, Patch_size), dtype=numpy.double)
hr = numpy.zeros((1, label_size, label_size), dtype=numpy.double)
lr[0, :, :] = lr_patch
hr[0, :, :] = hr_patch[conv_side: -conv_side, conv_side: -conv_side]
data.append(lr)
label.append(hr)
data = numpy.array(data, dtype=float)
label = numpy.array(label, dtype=float)
return data, label
评论列表
文章目录