Python计算两图相似性-基于互信息(Mutual Information)

发布时间 2023-12-07 10:42:10作者: 莲(LIT)

1、简介

通过计算两个图片的互信息来表征他们之间的相似度,如果两张图片尺寸相同,还是能在一定程度上表征两张图片的相似性的。

但是,大部分情况下图片的尺寸不相同,如果把两张图片尺寸调成相同的话,又会让原来很多的信息丢失,所以很难把握。

经过实际验证,此种方法的确很难把握。

 

2、代码示例

from sklearn import metrics as mr
import imageio.v2 as imageio
import numpy as np

img_cp1 = imageio.imread('WD1.png')
img_cp2 = imageio.imread('WD2.png')

img_cp2 = np.resize(img_cp2, (img_cp1.shape[0], img_cp1.shape[1], img_cp1.shape[2]))

img_cp1 = np.reshape(img_cp1, -1)
img_cp2 = np.reshape(img_cp2, -1)
print(img_cp2.shape)
print(img_cp1.shape)
mutual_infor = mr.mutual_info_score(img_cp1, img_cp2)

print(mutual_infor)