我想比較兩個圖像塊,如果它們完全相同,結果必須是1,如果它們匹配60%,則答案必須爲0.6。使用相關係數在Python中的兩幅圖像之間的百分比差異
在Matlab中,我可以使用corr2
命令來做到這一點,但在Python中我找不到方法。我試過numpy.corrcoef
,但它返回一個矩陣,並且scipy.signal.correlate2d
返回相同。
這是我曾嘗試:
import numpy as np
import matplotlib.pyplot as plt
from skimage.filter import threshold_otsu
import matplotlib.cm as cm
import Image
import scipy
from PIL import Image as im
fname = 'testi.jpg'
image = Image.open(fname).convert("L")
arr = np.asarray(image)
global_thresh = threshold_otsu(arr)
global_otsu = arr >= global_thresh
global_otsu = np.invert(global_otsu).astype(int)
a1 = global_otsu[80:150,1350:1350+160]
fname1 = 'testi2.jpg'
image1 = Image.open(fname1).convert("L")
arr1 = np.asarray(image1)
global_thresh1 = threshold_otsu(arr1)
global_otsu1 = arr1 >= global_thresh1
global_otsu1 = np.invert(global_otsu1).astype(int)
a2 = global_otsu1[80:150,1350:1350+160]
co = scipy.signal.correlate2d(a1,a2)
plt.gray()
plt.subplot(121)
plt.imshow(a1)
plt.subplot(122)
plt.imshow(a2)
plt.show()
,其結果是:
[[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
...,
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]]
這些都是我要比較的圖像:
將是大小相同的圖片嗎? – EvilTak
是的,他們將是相同的大小。 –
@EvilTak圖像的尺寸相同 –