我们在做有关图像的任务时,需要大量图片,可能存在有问题的图片我们所检测不到。在运行程序时候因为一张图可能将程序终止,所以进行数据清理是十分有必要的。
完整代码:可直接将有问题的图片删除
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)