图像比较之前要遵循哪些预处理步骤?

时间:2016-10-13 16:09:15

标签: python scipy scikit-image

例如,我试图使用skimage - SSIM找到两个图像之间的相似性。代码块如下

from skimage.measure import compare_ssim as ssim
from skimage import io
from skimage.transform import resize

a = io.imread("http://ecx.images-amazon.com/images/I/51PV4Dd8wAL._AC_UL246_SR190,246_.jpg",as_grey=False,dtype="float64")
b = io.imread("http://ecx.images-amazon.com/images/I/914ZHE6JolL._UY500_.jpg",as_grey=False,dtype="float64")

a = resize(a,b.shape)
ssim(a, b,multichannel=True)

我得到了相似度得分如下

0.21009350738786017

虽然两幅图像在一张图像略有朝向的情况下是相同的,但我对这种比较的得分非常低。在计算比较图像之前,我是否遗漏了任何预处理步骤。如果是这样,在比较图像之前我应该​​考虑什么。

提前致谢!!

1 个答案:

答案 0 :(得分:0)

调整图像大小以放大/缩小以匹配其他图像总是会产生结构差异。 缩小图像时,会聚合一些值(想想像素化)。放大时,会再次修改值。因此,在这两种情况下,所有信道中都存在信息的丢失/聚合。

这总会产生结构差异。 Ssim优选用于原始相同尺寸的图像。(未调整大小)