39 lines
1.5 KiB
Python
39 lines
1.5 KiB
Python
import os
|
||
|
||
def check_dataset_match(images_dir, labels_dir):
|
||
"""检查图片和标注文件数量是否匹配"""
|
||
# 获取图片文件列表
|
||
image_files = [f for f in os.listdir(images_dir) if f.lower().endswith('.jpg')]
|
||
# 获取标注文件列表(排除classes.txt)
|
||
label_files = [f for f in os.listdir(labels_dir)
|
||
if f.lower().endswith('.txt') and f != 'classes.txt']
|
||
|
||
# 提取文件名(不带扩展名)
|
||
image_names = {os.path.splitext(f)[0] for f in image_files}
|
||
label_names = {os.path.splitext(f)[0] for f in label_files}
|
||
|
||
# 找出不匹配的文件
|
||
missing_images = label_names - image_names
|
||
missing_labels = image_names - label_names
|
||
|
||
print(f"图片数量: {len(image_files)}")
|
||
print(f"标注数量: {len(label_files)}")
|
||
print(f"匹配状态: {'匹配' if len(image_files) == len(label_files) else '不匹配'}")
|
||
|
||
if missing_images:
|
||
print("\n缺少对应的图片文件:")
|
||
for name in sorted(missing_images):
|
||
print(f"- {name}.jpg")
|
||
|
||
if missing_labels:
|
||
print("\n缺少对应的标注文件:")
|
||
for name in sorted(missing_labels):
|
||
print(f"- {name}.txt")
|
||
|
||
if __name__ == "__main__":
|
||
images_dir = r'F:\myprojects\啾啾救援识别系统\JJCarDetection\datasets\猫狗\train\images'
|
||
labels_dir = r'F:\myprojects\啾啾救援识别系统\JJCarDetection\datasets\猫狗\train\labels'
|
||
|
||
print("正在检查数据集匹配情况...")
|
||
check_dataset_match(images_dir, labels_dir)
|
||
print("\n检查完成") |