例如,我试图使用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
虽然两幅图像在一张图像略有朝向的情况下是相同的,但我对这种比较的得分非常低。在计算比较图像之前,我是否遗漏了任何预处理步骤。如果是这样,在比较图像之前我应该考虑什么。
提前致谢!!
答案 0 :(得分:0)
调整图像大小以放大/缩小以匹配其他图像总是会产生结构差异。 缩小图像时,会聚合一些值(想想像素化)。放大时,会再次修改值。因此,在这两种情况下,所有信道中都存在信息的丢失/聚合。
这总会产生结构差异。 Ssim优选用于原始相同尺寸的图像。(未调整大小)