import argparse
import os
from PIL import Image
from skimage import exposure, img_as_float, io
from tqdm import tqdm


def work(img_path, img_dir):
    if img_dir == '':
        # 读取图像
        img_org = Image.open(img_path)
        # 转换为 skimage 可操作的格式
        img = img_as_float(img_org)
        img_bright = exposure.adjust_gamma(img, 0.5)
        img_dark = exposure.adjust_gamma(img, 1.5)

        io.imsave(str(img_path)[0:-4] + '_dark.png', img_dark)
        io.imsave(str(img_path)[0:-4] + '_bright.png', img_bright)
    else:
        img_list = os.listdir(img_dir)
        for img_p in tqdm(img_list):
            img_p = img_dir + '/' + img_p
            img = Image.open(img_p)
            img_bright = exposure.adjust_gamma(img, 0.5)
            img_dark = exposure.adjust_gamma(img, 1.5)
            io.imsave(img_dir + '/' + str(img_p).split('.')[0] + '_dark.png', img_dark)
            io.imsave(img_dir + '/' + str(img_p).split('.')[0] + '_bright.png', img_bright)


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--img_dir', type=str, default='')
    parser.add_argument('--img_path', type=str, default='./img/idcard_0_02.png')
    args = parser.parse_args()
    work(args.img_path, args.img_dir)
