我们在做有关图像的任务时,需要大量图片,可能存在有问题的图片我们所检测不到。在运行程序时候因为一张图可能将程序终止,所以进行数据清理是十分有必要的。

完整代码:可直接将有问题的图片删除

import os
import shutil
import warnings
import cv2
import io

from PIL import Image
warnings.filterwarnings("error", category=UserWarning)
base_dir = "/data/chw/images"
i = 0
def is_read_successfully(file):
    try:
        imgFile = Image.open(file)
        return True
    except Exception:
        return False

for parent, dirs, files in os.walk(base_dir):
    for file in files:
        if not is_read_successfully(os.path.join(parent, file)):
            print(os.path.join(parent, file))
            os.remove(os.path.join(parent, file))
            i = i + 1
print(i)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐