圖像匹配算法NCC(Normalized Cross Correlation)的python實現

背景

相關係數其實就是皮爾森係數,一般是在概率中判斷兩個隨機變量的相關性,公式爲:
在這裏插入圖片描述
其中,Cov(X,Y)表示的是隨機變量X,Y的協方差。D(X)與D(Y)則分別表示隨機變量X,Y的方差。皮爾森係數的值域爲[-1,1],係數越接近1表明這兩個隨機變量越相關,越接近-1表明這兩個隨機變量越不相關。講到這裏,突然想起概率中講的一句話:\color{#FF3030}{獨立一定不相關,不相關不一定獨立}

然而也可以利用皮爾森係數計算兩張圖片的相關性。

代碼

import numpy as np
import cv2

im1 = '1.png'
im2 = '0.png'
img1 = cv2.imread(im1)
img2 = cv2.imread(im2)

# 圖片2的標準差
print(np.std(img2))
# 相關係數,這裏使用的是有偏估計
print(np.mean(np.multiply((img1-np.mean(img1)),(img2-np.mean(img2))))/(np.std(img1)*np.std(img2)))

輸出結果

在這裏插入圖片描述

Reference

1.NCC(Normalized Cross Correlation)歸一化互相關原理和C++代碼實現
2.圖像配準】基於灰度的模板匹配算法(一):MAD、SAD、SSD、MSD、NCC、SSDA、SATD算法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章