python 批量修改图片的名字

文章目录

  • 情况1:数据都在一个文件夹内
  • 情况二:不同类别的数据在不同的文件夹内

情况1:数据都在一个文件夹内

修改前:
python 批量修改图片的名字_第1张图片
修改后:
python 批量修改图片的名字_第2张图片
代码:

import os
import cv2 as cv

image_path = 'C:/Users/huan4/Desktop/Python/TensorFlow/train_ourself_data/01_classification_network/data/train/'

for file in os.listdir(image_path):
    name = file.split(sep='_')
    if name[0] == '0':
        new_image = image_path + 'airplane' + '_' + name[1]
        scr = cv.imread(image_path + file)
        cv.imwrite(new_image, scr)
    elif name[0] == '1':
        new_image = image_path + 'car' + '_' + name[1]
        scr = cv.imread(image_path + file)
        cv.imwrite(new_image, scr)
    elif name[0] == '2':
        new_image = image_path + 'bird' + '_' + name[1]
        scr = cv.imread(image_path + file)
        cv.imwrite(new_image, scr)

情况二:不同类别的数据在不同的文件夹内

python 批量修改图片的名字_第3张图片
python 批量修改图片的名字_第4张图片
修改后:
python 批量修改图片的名字_第5张图片

import os
import cv2 as cv

data_path = 'C:/Users/huan4/Desktop/Python/TensorFlow/train_ourself_data/cat_and_dog/data/'
save_path = 'C:/Users/huan4/Desktop/Python/TensorFlow/train_ourself_data/cat_and_dog/train/'

for file in os.listdir(data_path):
    image_file_path = data_path + file + '/'
    i = 0
    for image_name in os.listdir(image_file_path):
        scr = cv.imread(image_file_path + image_name)
        dst = cv.resize(scr, (600, 800), interpolation=cv.INTER_CUBIC)  #如果图片太大,可以使用cv.resize成自己想要的大小
        new_image_name = save_path + file + '_' + str(i) + '.jpg'
        print(new_image_name)
        cv.imwrite(new_image_name, dst)
        i += 1

你可能感兴趣的:(python,tool)