サンプル、shutil.moveは、移動するファイルから画像をランダムに抽出します(トレーニングセットからテストセットを抽出するために使用されます)

問題の説明:

トレーニングセット(0.1を占める)の写真の2つのコピーをランダムに移動して、検証セットとテストセットを形成します

完全なコード

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)

問題解決のアイデア

  1. すべての画像パスリストを取得

現時点では、リストは抽出される各画像の名前であり、完全なパスではありません

ストレージイメージパス:ここに画像の説明を挿入

ここに画像の説明を挿入

画像パスリスト
ここに画像の説明を挿入

2.移動する必要のある画像の数を設定します

ここに画像の説明を挿入
3.ランダムな動画の名前のリストを取得します
ここに画像の説明を挿入
。4。移動
ここに画像の説明を挿入
注:パスの終わり
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_43586192/article/details/110484109