133*_*day 12 python media comparison image
可能重复:
图像比较算法
所以基本上我需要编写一个程序来检查2个图像是否相同.考虑以下2张图片:
http://i221.photobucket.com/albums/dd298/ramdeen32/starry_night.jpg
http://i221.photobucket.com/albums/dd298/ramdeen32/starry_night2.jpg
那么它们都是相同的图像,但我如何检查这些图像是否相同.我仅限于媒体功能.我现在能想到的只是宽度高度缩放并比较每个像素的RGB但是颜色不同吗?
我完全迷失在这一个,任何帮助表示赞赏.
*注意这必须在python中并使用(媒体库)
哇-这是一个巨大的问题,而且有很多可能的解决方案。恐怕我不是python专家,但我认为您的问题很有趣-因此,我想提出一种方法,如果遇到这个问题,我将实施该方法。
显然,您发布的两个图像实际上是非常不同的-因此您将需要考虑“相同之处有多少不同”,尤其是在处理图像并考虑不同的图像格式和压缩方式等情况下。
无论如何,对于允许给定颜色值差异的解决方案(但不允许像素位于错误的位置),我将执行以下操作:
选择两个图像。
将最大的图像重新缩放为与第一个图像完全相同的高度和宽度(必要时甚至扭曲图像)。
可能会对图像进行灰度处理,以使下一步变得更简单,而又不会损失很多效果。实际上,这里的运行边缘检测也可能起作用。
遍历两个图像中的每个像素,并将差异存储在每个RGB通道中,或者仅存储灰度强度的差异。您将得到一个图像大小的数组,并注意两个图像上像素强度之间的差异。
现在,我不知道确切的值,但是您可能会发现,如果对数组进行迭代,则可以看到两个图像中每个像素之间的差异在所有像素中是否相同(或几乎相同)。像素。也许一次遍历数组以找到两个图像中像素强度之间的平均差异,然后再次遍历图像以查看90%的差异是否在某个阈值之内(5%差异?)。
只是一个主意。当然,可能有些简单的功能我并没有意识到,但我不会屏息!
归档时间: |
|
查看次数: |
3269 次 |
最近记录: |