使用Python测量两张相似图像的质量
我想找个办法,看看Python能不能帮助我识别相似的图片,并且返回一张整体质量更好的、清晰且色彩丰富的JPG图片。Python里有没有什么工具可以做到这一点?
下面我举个例子来说明我的意思。这两张图片很相似,但质量却不一样。有没有什么建议可以帮助我定量地衡量它们的质量?我应该关注图片的大小、颜色范围等等吗?
更好的那张(不那么锐利,清晰): http://www.lessaccent.com/i/blog/coke-can.jpg
虽然不错,但不如上面那张(更锐利,颗粒感更强): http://images.sodahead.com/polls/002323967/371436027_CokeCan_answer_1_xlarge.jpeg
1 个回答
4
通常,这种比较是通过某种指标和一张参考图片来计算的。SSIM(可以查看这个链接 https://stackoverflow.com/a/13884956/1832154)在这种比较中表现得很好。对于你的图片(把第一张当作参考图),SSIM给出的值大约是0.91,这表示第二张图片和参考图之间的结构相似度。实际上,它们并没有太大差别,但这个指标显示出大约9%的结构相似度差异——考虑到这些图片,这个差异看起来是可以接受的。