我总是在我的计算机上发现损坏的 jpeg 图像。有些图像底部有一条灰色带,有些图像被 Bad Peggy 报告为损坏(但在 XNView 等程序中查看时看起来正常),有些图像在 XNView 或任何其他程序中都无法读取。有没有办法确定哪个程序最后修改了图像?根据几个位置的数据,Bad Peggy 表示有些文件不是 jpeg,但 XNView 对这些文件没有任何问题。它们显示正确,元数据看起来也正常。目前没有损坏的 JPEG,因为我用好的副本覆盖了它们。我怀疑某个程序有错误,有时会损坏 JPEG。我的问题旨在验证这一点。
提前致谢,史蒂夫
答案1
最后使用..编辑
如果编辑器决定使用 EXIF 发布此信息(如本例中的 Paint.NET):
类似的工具JPEGsnoop可以尝试猜测使用什么相机或编辑器来创建该文件。
关于腐败
我不知道这将如何帮助解决损坏问题。在我看来,某些工具损坏 JPEG 的可能性不大。我以 JPEG 修复服务为荣,我不记得曾经看到过让我怀疑是某个特定工具造成的损坏。例如,您提到的灰色带通常是由于位翻转造成的。
程序错误可能会产生可重现的损坏和破坏。您应该能够提取某种模式。您的描述似乎没有表明这一点。
单个位翻转就可能导致这种类型的损坏,但我更常看到的是更大的区域(例如损坏了几百到几千个字节)。有时损坏看起来是随机的,因此很难确定是什么原因造成的,但也发生过这种情况,我看到损坏文件内的一个完整扇区实际上是 FAT 目录的一部分(例如,这可能表明文件系统损坏而不是文件损坏)。
编码图像数据中的单个位翻转可以做到这一点:
坏佩吉也许终究还是对的……
像 Bad Peggy 这样的工具经常会产生误报和漏报,因此不能依赖于它来最终判断文件是否损坏。
还要注意的是,有些图像查看器会根据文件内容而不是扩展名来打开文件,因此 Bad Peggy 可能会正确将带有 JPEG 或 JPG 扩展名的 PNG 识别为非 JPEG,而您的图像查看器却可以轻松打开它。例如,带有不正确使用 ImageGlass 之类的工具就可以正常打开 JPG 扩展名。