情况1:数据都在一个文件夹内
修改前:
修改后:
代码:
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)
情况二:不同类别的数据在不同的文件夹内
修改后:
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