对于图像上传工具,我想自动检测图像的(主观)质量,从而对质量进行评级。
我有以下想法可以启发式地实现这一点:
显然,如果对大图像进行评级,我的方法会耗费大量的周期和内存,尽管这可以在我的场景中实现(胖服务器,上传次数不多),而且我总是可以在周围建立一个“短路”。如果图像超过一定分辨率,则会出现更昂贵的步骤。
我还能尝试一些其他方法,还是有办法更有效地做到这一点?
答案 0 :(得分:10)
评估图像(声音或视频也是如此)质量并非易事,并且有许多出版物解决了这个问题。
很大程度上取决于图像的性质 - 不同的标准组适合于人工创建的图像(即图表)或自然图像(即照片)。必须考虑微妙的效果 - 如彩色遮蔽,亮度遮蔽,对比度感知。对于某些图像,给定的压缩比是完全足够的,而对于其他图像,它将导致显着的质量损失。
以下是免费访问的出版物,简要介绍image quality evaluation的主题。
您提到的方法 - 压缩图像并将结果与原始图像进行比较远非完美。您计划使用的指标是什么? MSE?每块MSE?可以肯定的是,实现起来并不困难,但结果难以解释(考虑使用高频成分且没有高频成分的图像)。
如果你想深入研究图像质量评估,那么机器学习社区也会做很多研究。
答案 1 :(得分:5)
您可以尝试查看图像的EXIF标签(使用exiftool之类的东西),您得到的内容会有很大差异。例如,在我的单反相机上,您甚至可以在拍摄图像时获得哪些焦点处于活动状态。压缩质量也可能有所不同。
要检查的另一件事是图像直方图 - 注意偏向左侧的图像,这表明曝光不足或大量饱和像素。
对于图像模糊,您可以查看傅里叶变换的高频分量,这可能无论如何都要访问与JPG压缩相关的参数。
这是一个棘手的领域,因为你可能能够实施的大多数“规则”可能会因为艺术效果而被打破。
答案 2 :(得分:5)
我想拍下“明显纳入分辨率”的想法。决议告诉你什么。我可以将图像缩放2倍,使像素数增加四倍。这不会增加任何信息,也不会提高质量。
我不确定“压缩到JPG”的想法。 JPG是面向照片的算法。并非所有图像都是照片。此外,蓝天压得很好。均匀灰色甚至更好。您认为确切的云类型决定图像质量吗?
由于类似的原因,锐度是一个坏主意。景深与图像质量无关。在黑色背景下拍摄的项目将有很多像素,故意强度相当低。同样,这并不表示曝光不足,因此直方图本身也不是一个好的质量指标。答案 3 :(得分:3)
但如果这些照片是“商业化的”呢?如果照片是日常物品并且有目的地非艺术性,现有技术的价值是否有效?
如果我雇用数百人拍摄公园长椅的照片,我想快速了解哪些照片质量更好(对焦,光线充足),哪些不是。我不想要小猫,人,日落等的照片。
或者如果图片应该是目录的项目怎么办?没有模特,只有服装。图像质量处理会有帮助吗?
答案 4 :(得分:0)
我也很想知道照片是多么模糊。
这个怎么样:
如果尺寸没有下降很多(超过一定百分比阈值),那么缩小和放大并没有丢失太多信息,因此原始图像与已缩放的图像相同。