画像データセットとラベル データセットの名前を比較およびフィルタリングするコード例

データ セットを取得するときに、画像とラベルが一致しない状況が発生する可能性があります。ラベル名を通じて画像をフィルタリングして、2 つの一貫性を維持できます。コードは以下のように表示されます。

import os
from tqdm import tqdm
'''
image_path:原始数据集图像文件夹路径
label_path:原始数据集标签文件夹路径
deal_image_path:对比完成后图像文件夹路径
deal_label_path:对比完成后标签文件夹路径
'''
def compare_image_label_remove_file(image_path,label_path,deal_image_path,deal_label_path):
    count = 0
    remove_count = 0
    label_list = os.listdir(label_path)
    for label_name in tqdm(label_list):
        each_name, _ = os.path.splitext(label_name)
        image_name = os.path.join(image_path, '{}.jpg'.format(each_name))
        label_name = os.path.join(label_path, '{}.txt'.format(each_name))

        if os.path.exists(label_name) and os.path.exists(image_name):
            shutil.move(label_name, deal_label_path)
            shutil.move(image_name, deal_image_path)
            remove_count += 1
        count += 1
    print("compare complete,total %d file,remove %d file" % (count, remove_count))

おすすめ

転載: blog.csdn.net/m0_54361461/article/details/127740717