NCC與matchTemplate()函數中match_method = TM_CCOEFF_NORMED是否一樣?
先看公式:
![]() | ![]() |
TM_CCOEFF_NORMED:歸一化的相關性系數匹配方法
NCC:normalized cross correlation:歸一化互相關系數
公式是一樣的。
參考:
模板匹配的幾種方法
對canny圖使用matchTemplate()函數與基于梯度的NCC算法是否一樣?
先看看網上的基于梯度的NCC算法的文章:
干貨 | OpenCV實現邊緣模板匹配算法
其中算法描述有這樣一段話
也就是對于所有的輪廓點計算x方向梯度、y方向梯度,以及XY梯度,作為模板保存
測試圖sobel算子卷一遍后,用x方向梯度、y方向梯度,以及XY梯度去和模板匹配。
這個和我的做法不一樣(用測試圖的canny后的圖(之后又去除了冗余信息)去和模板圖的canny圖(面積較小,相當于瓶子的最小外接矩形)匹配),所以我那個本質上仍然是灰度NCC,實際上是沒有邊緣的方向信息的。
我真是個笨蛋