import argparse
import datetime
import os
import uuid
import cv2


def rename(img_dir, save_dir):
    filelist = os.listdir(img_dir)  # 获取指定的文件夹包含的文件或文件夹的名字的列表
    total_num = len(filelist)  # 获取文件夹内所有文件个数

    i = 1  # 图片名字从 0 开始
    for item in filelist:  # 遍历这个文件夹下的文件,即 图片
        time = datetime.datetime.now()
        t = str(time.year).zfill(4)+'-'+str(time.month).zfill(2) + '-'+str(time.day).zfill(2)
        img = cv2.imread(img_dir + '/' + item)
        if item.endswith('.jpg') or item.endswith('.png'):
            # dst = save_dir + '/kdan_' + str(t) + '_' + str(i).zfill(8) + '_' + str(uuid.uuid1())[0:4] + '.jpg'
            dst = save_dir + '/id_' + item.split('.')[0] + '.jpg'
            cv2.imwrite(dst, img)
            i = i + 1
    print('total %d to rename' % total_num)


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--img_dir', type=str, default=r'C:\Users\KDAN\Desktop\workspace\rec_data(tw_idcard)\tw_idcard_rec_1223\id')
    parser.add_argument('--save_dir', type=str, default=r'C:\Users\KDAN\Desktop\workspace\rec_data(tw_idcard)\tw_idcard_rec_1223\id')
    args = parser.parse_args()
    if not os.path.exists(args.save_dir):
        os.makedirs(args.save_dir)
    rename(args.img_dir, args.save_dir)
