批量图片按编号的重命名
爬虫爬下来的图片,在不同标签下总是会发现重名现象,因此简单写一段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)