Python计算两图相似性-基于互信息(Mutual Information)
1、简介
通过计算两个图片的互信息来表征他们之间的相似度,如果两张图片尺寸相同,还是能在一定程度上表征两张图片的相似性的。
但是,大部分情况下图片的尺寸不相同,如果把两张图片尺寸调成相同的话,又会让原来很多的信息丢失,所以很难把握。
经过实际验证,此种方法的确很难把握。
2、代码示例
测试图片点击进行下载:Image
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)