Descripción del problema:
Mueva aleatoriamente 2 copias de las imágenes en el conjunto de entrenamiento (representando 0.1) para formar un conjunto de verificación y un conjunto de prueba
Código completo
import shutil
import random
import os
'''
获取所有图片的路径;
移动图片的数目
获取随机移动图片的名称列表
移动图片
'''
# shutil.move(train_path,verify_path)
# random.sample()
def move_file(file_dir, dst_dir):
path_dir = os.listdir(file_dir) # 源图像路径
file_num = len(path_dir)
rate = 0.1 # 移走图片的比率
# move_num=int(file_num*rate)
move_num = 200
sample = random.sample(path_dir, move_num) # 随机移动的图片名称
for name in sample:
shutil.move(file_dir + name, dst_dir + name)
return
if __name__ == '__main__':
# 注意最后有一个斜杠!!!
train_path = r'G:/00_deeplearning/机器学习/01_code/data/分纤箱外景照/train_image/' # 原图文件
aim_path = r'G:/00_deeplearning/机器学习/01_code/data/分纤箱外景照/test_image/' # 目标文件夹
move_file(train_path, aim_path)
Ideas para resolver problemas
- Obtener la lista de rutas de todas las imágenes
En este momento, la lista es el nombre de cada imagen que se extraerá, no la ruta completa.
Ruta de la imagen de almacenamiento:
Lista de rutas de imagen
2. Establezca la cantidad de imágenes que deben moverse
3. Obtener la lista de nombres de imágenes en movimiento aleatorias
4. Mover
Nota: el final de la ruta