批量图片按编号的重命名

批量图片按编号的重命名

爬虫爬下来的图片,在不同标签下总是会发现重名现象,因此简单写一段python代码来解决这个问题
图片放在与python代码相同目录的pictures文件夹下,保存在新创建的pictures/normal文件夹下

import os
import argparse
from argparse import RawTextHelpFormatter
import glob
from os import makedirs
from os.path import join, exists, basename, splitext
import cv2
from tqdm import tqdm


def main(args):
    # 读取文件
    imdir = args.folder
    ext = ['png', 'jpg', 'bmp', 'jpeg']  # Add image formats here
    files = []
    [files.extend(glob.glob(imdir + '*.' + e)) for e in ext]
    images = [cv2.imread(file) for file in files]

    # 创建文件夹
    directory = join(imdir, "normal")
    if not exists(directory):
        makedirs(directory)

    # 起始编号
    k = 154
    # 图片重命名
    for i, image in tqdm(enumerate(images), desc="Enhancing images"):
        if image is None:
            print(f"Failed to read image {files[i]}")
        res = image

        new_filename = os.path.join(directory, "image_{:d}.jpg".format(k))
        k=k+1
        # 存储文件
        cv2.imwrite(new_filename, res)


if __name__ == "__main__":
    parser = argparse.ArgumentParser(
        description="Python implementation of exposing images.",
        formatter_class=RawTextHelpFormatter
    )
    # 关联文件夹
    parser.add_argument("-f", '--folder', default='./pictures/', type=str,
                        help="folder path to test images.")
    args = parser.parse_args()
    main(args)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值