尝试使用ImageMagick的identify
命令。从手册页:
标识描述一个或多个图像文件的格式和特征。它还会报告图像是否不完整或损坏。
例:
$ identify foo.png
identify: NotAPNGImageFile (foo.png).
$ echo $?
1
一种替代方法是使用PIL(Python影像库) :
from PIL import Image
im = Image.open("foo.png")
im.verify()
从文档中 :
im.verify()
尝试确定文件是否损坏,而无需实际解码图像数据。如果此方法发现任何问题,它将引发适当的异常。此方法仅适用于新打开的图像。如果图像已经加载,则结果不确定。另外,如果在使用此方法后需要加载图像,则必须重新打开图像文件。
0
我从网络摄像头流中获取了2000张以上的图像(用于延时视频),我需要先删除所有不完整和损坏的图像,然后再将它们传递到php-gd脚本中,以对其进行编辑以制作最终视频。
是否可以使用imagemagick或其他工具检测损坏的文件?如果我尝试用feh打开损坏的图像,则会显示
libpng error: Read Error
控制台中的libpng error: Read Error
提前致谢!
更新:在我的情况下,建议的识别方法似乎接受了不良图像。这是一个损坏的示例http://imgur.com/YcB9n