|
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) |
|
|
|
|
|
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) |
|
|