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
- 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:
Liste des chemins d’image
2. Définissez le nombre d'images à déplacer
3. Obtenez la liste des noms des images animées au hasard
4. Déplacer
Remarque: la fin du chemin