sample, shutil.move extrait aléatoirement des images à partir de fichiers pour le mouvement (utilisé pour extraire l'ensemble de test de l'ensemble d'entraînement)

Description du problème:

Déplacez au hasard 2 copies des images dans l'ensemble d'apprentissage (en comptant 0,1) pour former un ensemble de vérification et un ensemble de test

Code complet

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)

Idées de résolution de problèmes

  1. Obtenir la liste de tous les chemins d’image

À ce stade, list est le nom de chaque image à extraire, pas le chemin complet

Chemin de l'image de stockage:Insérez la description de l'image ici

Insérez la description de l'image ici

Liste des chemins d’image
Insérez la description de l'image ici

2. Définissez le nombre d'images à déplacer

Insérez la description de l'image ici
3. Obtenez la liste des noms des images animées au hasard
Insérez la description de l'image ici
4. Déplacer
Insérez la description de l'image ici
Remarque: la fin du chemin
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/qq_43586192/article/details/110484109
conseillé
Classement