本人使用tensorflow实现快速风格迁移,代码参考张宏伦老师的深度有趣,但是由于数据集太大,本人电脑无法支持,跪求解决方法。
# 加载内容图片,统一尺寸
def resize_and_crop(image, image_size):
h = image.shape[0]
w = image.shape[1]
if h > w:
image = image[h // 2 - w // 2: h // 2 + w // 2, :, :] #当图像高>宽,取高中间部分,形成正方形
else:
image = image[:, w // 2 - h // 2: w // 2 + h // 2, :]
image = cv2.resize(image, (image_size, image_size)) #cv2.resize(src原图像,dsize目标图像大小)
return image
X_data = []
image_size = 256
paths = glob.glob('F:\datasets\train2014\*.jpg')
for i in tqdm(range(len(paths)),ncols=50): #显示进度条
path = paths[i]
image = imread(path)
if len(image.shape) < 3: # 去掉黑白图片
continue
X_data.append(resize_and_crop(image, image_size))
X_data = np.array(X_data)
print(X_data.shape)
运行结果: