我有两个256x256的阵列,其中的信息有两个不同的单位(一个单位是米,另一个单位是度)。当我用彩色地图绘制它们时,图像看起来非常相似,但我知道其中的信息在大小和单位上完全不同。因为图像看起来像,我想计算它们之间的相似程度的百分比。(我知道这样说是含糊不清的,但我对如何进行比较持开放态度)
到目前为止,我正在两个矩阵之间使用scikitlearn
cosine_similarity
函数,但是我在理解结果矩阵的含义时遇到了问题
那么,哪个值表示相似性?有没有更好的方法来分析这两幅图像?(附图)
import numpy as np
import matplotlib.pyplot as plt
from sklearn import metrics
matrix_A=dataA #256x256 matrix
matrix_B=dataB #256x256 matrix
sim_AB=metrics.pairwise.cosine_similarity(A,B) #Similarity matrix
plt.imshow(sim_AB)
我相信
cosine_similarity
将矩阵视为列上的特征和行上的样本(或者相反)。这就好像你有256个特征和256个样本(每个样本),结果是特征之间的比较。也许scipy
的correlate2d
就是你要找的?这将计算两幅图像之间的相关性。相关性越高,它们就越相似。或者,您可以定义一些度量并计算距离,如<(A-B)^2>
,但如果单位不同,这就没有什么意义了相关问题 更多 >
编程相关推荐