我有用于计算机视觉任务的图像。该任务对图像质量很敏感。我想删除所有低于某个阈值的图像,但我不确定是否有任何方法/启发式方法可以自动检测通过JPEG严重压缩的图像。有人有想法吗?
答案 0 :(得分:21)
图像质量评估是一个快速发展的研究领域。由于您未提及能够访问原始(未压缩)图像,因此您对无参考图像质量评估感兴趣。这实际上是一个非常难的问题,但这里有一些要点让你开始:
无论您使用何种指标,请考虑如何处理误报/否定。与简单的阈值处理相反,我使用度量结果对图像进行排序,然后剪切列表的末尾,看起来它只包含模糊的图像。
如果您的图像集包含非常相似的内容(例如仅限脸部),您的任务将会更加简单。这是因为图像质量评估指标 不幸的是,它往往会受到图像内容的影响。
Google学术搜索真的是你的朋友。我希望我能给你一个具体的解决方案,但我还没有 - 如果我做了,我将是一位非常成功的硕士生。
<强>更新强>
想到另一个想法:对于每个图像,使用JPEG重新压缩图像并检查重新压缩之前和之后文件大小的变化。如果重新压缩后的文件大小比以前小得多,则可能是图像没有被大量压缩,因为它具有通过重新压缩去除的一些重要细节。否则(重新压缩后差异或文件大小很小)很可能是图像被严重压缩。
在重新压缩过程中使用质量设置将允许您确定严重压缩的含义。
如果您使用的是Linux,那么使用bash和imageMagick的转换实用程序实现起来应该不会太难。
您可以尝试此方法的其他变体:
让我知道你怎么走。
答案 1 :(得分:4)
我有很多照片拍摄到一本古老的书籍(布局相似,每张图片两页),但有些照片很模糊,以至于文字无法读取。我搜索了一个现成的批处理脚本来找到最模糊的一个,但我没有找到任何有用的,所以我用了另一部分脚本在网上(基于ImageMagick,但不再工作;我不能检索作者的信用!),有助于评估单个图像的模糊级别,调整它,并在整个文件夹中自动进行。我上传到这里:
https://gist.github.com/888239
希望它对其他人有用。它适用于Linux系统,并使用ImageMagick(有些通常是命令行安装的工具,如gawk,sort,grep等)。
答案 2 :(得分:0)
一个简单的启发式方法可能是width * height * color depth < sigma * file size
。当然,您必须为sigma
确定一个好的值。 sigma
取决于您正在查看的图像的预期熵。