Histoformer / basicsr /utils /create_lmdb.py
sunshangquan
commit from ssq
111d9b6
raw
history blame
4.99 kB
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)