我正在尝试从大型图像数据集中检测损坏的图像。我正在使用Pillow程序包和verify()。 我只是想检测图像查看器或浏览器中损坏或无法打开的图像,因为它们是“坏苍蝇”,所以我的所有图像始终被检测为“坏”。
from os import listdir
from PIL import Image
for imageFolder in listdir('./batch1'):
try:
img = Image.open('./batch1'+imageFolder)
img.verify() # to veify if its an img
img.close() #to close img and free memory space
except (IOError, SyntaxError) as e:
print('Bad file:', imageFolder)
我做错什么了吗?
是否有其他方法可以达到我检测损坏图像的目的,而无需手动删除每个损坏的图像?
答案 0 :(得分:0)
您需要在路径后添加/
。否则,您的完整路径似乎像.'batch1your_img.png
from os import listdir
from PIL import Image
for imageFolder in listdir('./batch1'):
try:
img = Image.open('./batch1/'+imageFolder)
img.verify() # to veify if its an img
img.close() #to close img and free memory space
except (IOError, SyntaxError) as e:
print('Bad file:', imageFolder)
还要确保您的batch1
目录仅包含图像,否则会出现另一个错误。