Spaces:
Runtime error
Runtime error
| import argparse | |
| import glob | |
| import os | |
| from PIL import Image | |
| def main(args): | |
| # For DF2K, we consider the following three scales, | |
| # and the smallest image whose shortest edge is 400 | |
| scale_list = [0.75, 0.5, 1 / 3] | |
| shortest_edge = 400 | |
| path_list = sorted(glob.glob(os.path.join(args.input, '*'))) | |
| for path in path_list: | |
| print(path) | |
| basename = os.path.splitext(os.path.basename(path))[0] | |
| img = Image.open(path) | |
| width, height = img.size | |
| for idx, scale in enumerate(scale_list): | |
| print(f'\t{scale:.2f}') | |
| rlt = img.resize((int(width * scale), int(height * scale)), resample=Image.LANCZOS) | |
| rlt.save(os.path.join(args.output, f'{basename}T{idx}.png')) | |
| # save the smallest image which the shortest edge is 400 | |
| if width < height: | |
| ratio = height / width | |
| width = shortest_edge | |
| height = int(width * ratio) | |
| else: | |
| ratio = width / height | |
| height = shortest_edge | |
| width = int(height * ratio) | |
| rlt = img.resize((int(width), int(height)), resample=Image.LANCZOS) | |
| rlt.save(os.path.join(args.output, f'{basename}T{idx+1}.png')) | |
| if __name__ == '__main__': | |
| """Generate multi-scale versions for GT images with LANCZOS resampling. | |
| It is now used for DF2K dataset (DIV2K + Flickr 2K) | |
| """ | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument('--input', type=str, default='datasets/DF2K/DF2K_HR', help='Input folder') | |
| parser.add_argument('--output', type=str, default='datasets/DF2K/DF2K_multiscale', help='Output folder') | |
| args = parser.parse_args() | |
| os.makedirs(args.output, exist_ok=True) | |
| main(args) | |