YOLO训练中删除有错误的图片

当YOLO训练时,碰见有点图片格式已经损坏,利用代码遍历文件夹,将有错误的图片删除。

注意:此处只删除图片,不删除图片对应的标签文件,如果想想删除标签文件请看下一篇文章    YOLO根据已有的图片删除多余的标签文件

import cv2
import os


def find_and_delete_corrupt_images_yolo_format(folder_path):
    corrupt_images = []

    for filename in os.listdir(folder_path):
        file_path = os.path.join(folder_path, filename)

        try:
            # 尝试使用YOLO格式的图像读取方式
            image = cv2.imread(file_path)
            if image is None:
                # 图像读取失败,将其视为损坏的文件
                corrupt_images.append(filename)
                print(f"损坏的图像文件: {filename}")

                # 删除损坏的文件
                os.remove(file_path)
                print(f"已删除损坏的文件: {filename}")
        except Exception as e:
            # 捕获异常,将其视为损坏的文件
            corrupt_images.append(filename)
            print(f"损坏的图像文件: {filename}")

            # 删除损坏的文件
            os.remove(file_path)
            print(f"已删除损坏的文件: {filename}")

    return corrupt_images


if __name__ == "__main__":
    # 请将文件夹路径替换为包含图像文件的文件夹路径
    folder_path = os.path.abspath(r"G:\zuizhonggongjian\img")

    # 查找并删除损坏的图像
    corrupt_images = find_and_delete_corrupt_images_yolo_format(folder_path)

    # 打印损坏的图像文件名
    print("\n损坏的图像文件名:")
    for img_name in corrupt_images:
        print(img_name)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值