超分辨率生成训练图片代码

 1 from PIL import Image
 2 import os
 3 import cv2
 4 def produceImage(file_in, width, height, file_out):
 5     image = Image.open(file_in)
 6     resized_image = image.resize((width, height), Image.ANTIALIAS)
 7
 8     resized_image.save(file_out)
 9
10 if __name__ == '__main__':
11
12     #该路径为原图路径
13     path=r"H:\jianfeng\project\super_resolution\dataset\urban100_img\X3"
14     #该路径为保存路径
15     save=r"H:\jianfeng\project\super_resolution\dataset\urban100_img\X3_HR"
16     fileList = os.listdir(path)
17
18     for i in fileList:
19         a=os.path.join(path,i)
20
21         pic = cv2.imread(a)
22
23         width = pic.shape[1]
24         height = pic.shape[0]
25         #修改你要转换的分辨率 这里需要将分辨率乘以三倍,如果需要降低4倍则width//4,height//4
26         #遇到除不尽情况,会自动规整,需要再做一次还原操作,
27         # 比如降低3倍后1024-->341 需要在将341图片乘以三倍重新生成1023作为HR图
28         produceImage(a, width*3, height*3, os.path.join(save,i))
12-28 21:41