File size: 5,425 Bytes
61d360d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
# ------------------------------------------------------------------------
# Copyright (c) 2022 megvii-model. All Rights Reserved.
# ------------------------------------------------------------------------
# Modified from BasicSR (https://github.com/xinntao/BasicSR)
# Copyright 2018-2020 BasicSR Authors
# ------------------------------------------------------------------------
import argparse
from os import path as osp
from basicsr.utils import scandir
from basicsr.utils.lmdb_util import make_lmdb_from_imgs
def prepare_keys(folder_path, suffix='png'):
"""Prepare image path list and keys for DIV2K dataset.
Args:
folder_path (str): Folder path.
Returns:
list[str]: Image path list.
list[str]: Key list.
"""
print('Reading image path list ...')
img_path_list = sorted(
list(scandir(folder_path, suffix=suffix, recursive=False)))
keys = [img_path.split('.{}'.format(suffix))[0] for img_path in sorted(img_path_list)]
return img_path_list, keys
def create_lmdb_for_reds():
# folder_path = './datasets/REDS/val/sharp_300'
# lmdb_path = './datasets/REDS/val/sharp_300.lmdb'
# img_path_list, keys = prepare_keys(folder_path, 'png')
# make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
#
# folder_path = './datasets/REDS/val/blur_300'
# lmdb_path = './datasets/REDS/val/blur_300.lmdb'
# img_path_list, keys = prepare_keys(folder_path, 'jpg')
# make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
folder_path = './datasets/REDS/train/train_sharp'
lmdb_path = './datasets/REDS/train/train_sharp.lmdb'
img_path_list, keys = prepare_keys(folder_path, 'png')
make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
folder_path = './datasets/REDS/train/train_blur_jpeg'
lmdb_path = './datasets/REDS/train/train_blur_jpeg.lmdb'
img_path_list, keys = prepare_keys(folder_path, 'jpg')
make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
def create_lmdb_for_gopro():
folder_path = './datasets/GoPro/train/blur_crops'
lmdb_path = './datasets/GoPro/train/blur_crops.lmdb'
img_path_list, keys = prepare_keys(folder_path, 'png')
make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
folder_path = './datasets/GoPro/train/sharp_crops'
lmdb_path = './datasets/GoPro/train/sharp_crops.lmdb'
img_path_list, keys = prepare_keys(folder_path, 'png')
make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
# folder_path = './datasets/GoPro/test/target'
# lmdb_path = './datasets/GoPro/test/target.lmdb'
# img_path_list, keys = prepare_keys(folder_path, 'png')
# make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
# folder_path = './datasets/GoPro/test/input'
# lmdb_path = './datasets/GoPro/test/input.lmdb'
# img_path_list, keys = prepare_keys(folder_path, 'png')
# make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
def create_lmdb_for_rain13k():
folder_path = './datasets/Rain13k/train/input'
lmdb_path = './datasets/Rain13k/train/input.lmdb'
img_path_list, keys = prepare_keys(folder_path, 'jpg')
make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
folder_path = './datasets/Rain13k/train/target'
lmdb_path = './datasets/Rain13k/train/target.lmdb'
img_path_list, keys = prepare_keys(folder_path, 'jpg')
make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
def create_lmdb_for_SIDD():
folder_path = './datasets/SIDD/train/input_crops'
lmdb_path = './datasets/SIDD/train/input_crops.lmdb'
img_path_list, keys = prepare_keys(folder_path, 'PNG')
make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
folder_path = './datasets/SIDD/train/gt_crops'
lmdb_path = './datasets/SIDD/train/gt_crops.lmdb'
img_path_list, keys = prepare_keys(folder_path, 'PNG')
make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
#for val
'''
folder_path = './datasets/SIDD/val/input_crops'
lmdb_path = './datasets/SIDD/val/input_crops.lmdb'
mat_path = './datasets/SIDD/ValidationNoisyBlocksSrgb.mat'
if not osp.exists(folder_path):
os.makedirs(folder_path)
assert osp.exists(mat_path)
data = scio.loadmat(mat_path)['ValidationNoisyBlocksSrgb']
N, B, H ,W, C = data.shape
data = data.reshape(N*B, H, W, C)
for i in tqdm(range(N*B)):
cv2.imwrite(osp.join(folder_path, 'ValidationBlocksSrgb_{}.png'.format(i)), cv2.cvtColor(data[i,...], cv2.COLOR_RGB2BGR))
img_path_list, keys = prepare_keys(folder_path, 'png')
make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
folder_path = './datasets/SIDD/val/gt_crops'
lmdb_path = './datasets/SIDD/val/gt_crops.lmdb'
mat_path = './datasets/SIDD/ValidationGtBlocksSrgb.mat'
if not osp.exists(folder_path):
os.makedirs(folder_path)
assert osp.exists(mat_path)
data = scio.loadmat(mat_path)['ValidationGtBlocksSrgb']
N, B, H ,W, C = data.shape
data = data.reshape(N*B, H, W, C)
for i in tqdm(range(N*B)):
cv2.imwrite(osp.join(folder_path, 'ValidationBlocksSrgb_{}.png'.format(i)), cv2.cvtColor(data[i,...], cv2.COLOR_RGB2BGR))
img_path_list, keys = prepare_keys(folder_path, 'png')
make_lmdb_from_imgs(folder_path, lmdb_path, img_path_list, keys)
'''
|