import argparse
import os
import glob
import torch
import PIL.Image as image
from tqdm import tqdm
import matplotlib.pyplot as plt
parser = argparse.ArgumentParser()
parser.add_argument('--hr-path',type=str,default='/home/radio/DS/lr_spixel/train')
parser.add_argument('--lr-path',type=str,default='/home/radio/DS/lr_spixel/train_lr')
parser.add_argument('--num',type = int,default=348)
parser.add_argument('--scale',type = int,default=2)
# parser.add_argument('',type = ,default='')
args = parser.parse_args()
if torch.cuda.is_available():
device = torch.device('cuda')
else:
device = torch.device('cpu')
if not os.path.exists(args.lr_path):
os.makedirs(args.lr_path)
def convert2lr(args):
with tqdm(total=args.num) as t:
for image_relative_name in os.listdir(args.hr_path):
image_path = os.path.join(args.hr_path,image_relative_name)
hr = image.open(image_path).convert('RGB')
hr_width = (hr.width//args.scale)*args.scale
hr_height = (hr.height//args.scale)*args.scale
hr = hr.resize((hr_width,hr_height),resample=image.BICUBIC)
lr = hr.resize((hr_width//args.scale,hr_height//args.scale),resample=image.BICUBIC)
lr = lr.resize((lr.width*args.scale,lr.height*args.scale),resample=image.BICUBIC)
lr.save('/home/radio/DS/lr_spixel/train_lr/{}'.format(image_relative_name))
t.update()
if __name__ == '__main__':
convert2lr(args)
学习日志(十九):
最新推荐文章于 2024-05-01 02:20:05 发布
本文介绍了一个使用Python编写的脚本,该脚本利用PIL库实现图片的高分辨率到低分辨率转换。通过命令行参数指定HR和LR路径以及转换数量和比例,脚本能够批量处理指定文件夹内的所有图片,进行缩放并保存。
摘要由CSDN通过智能技术生成