模板匹配中差值的平方和(SSD)與互相關準則的關係

2021-07-05 23:57:11 字數 1522 閱讀 9126

模板匹配中差值的平方和(ssd)與互相關準則的關係

[email protected]

模板匹配templatematching是在影象中尋找目標的方法之一。原理很簡單,就是在一幅影象中尋找和模板影象(patch)最相似的區域。在opencv中有對應的函式可以呼叫:

void matchtemplate( const mat& image, const mat& templ, mat&result, int method );

該函式的功能為,在輸入源影象sourceimage(i)中滑動框,尋找各個位置與模板影象template image(t)的相似度,並將結果儲存在結果矩陣result matrix(r)中。該矩陣的每乙個點的亮度表示與模板t的匹配程度。然後可以通過函式minmaxloc定位矩陣r中的最大值(該函式也可以確定最小值)。那通過什麼去評價兩個影象相似呢?這就存在乙個評價準則,也就是引數method,它可以有以下值(匹配的方法):

cv_tm_sqdiff 平方差匹配法,最好的匹配為0,值越大匹配越差;

cv_tm_sqdiff_normed 歸一化平方差匹配法;

cv_tm_ccorr 相關匹配法,採用乘法操作,數值越大表明匹配越好;

cv_tm_ccorr_normed 歸一化相關匹配法;

cv_tm_ccoeff 相關係數匹配法,最好的匹配為1,-1表示最差的匹配;

cv_tm_ccoeff_normed 歸一化相關係數匹配法;

前面兩種方法為越小的值表示越匹配,後四種方法值越大越匹配。

其中:

cv_tm_sqdiff為:sumof squared difference (ssd) 差值的平方和:

cv_tm_ccorr 為:cross correlation互相關:

ssd可以看成是歐式距離的平方。我們把ssd展開,可以得到:

可以看到,上式的第一項(模板影象t的能量)是乙個常數,第三項(影象i區域性的能量)也可以近似乙個常數,那麼可以看到,剩下的第二項就是和cross correlation一樣的,也就是互相關項。而ssd是數值越大,相似度越小,cross correlation是數值越大,相似度越大。

參考:

konstantinos g. derpanis 等《relationshipbetween the sum of squared difference (ssd) and cross correlation for templatematching》

差值平方和匹配 模版匹配的方法

opencv中的模版匹配 matchtemplate image是執行搜尋的影象。它必須是8位或32位浮點。templ搜尋模板。它必須不大於源影象並具有相同的資料型別。結果比較結果的地圖。它必須是單通道32位浮點。如果影象是w h並且templ是w h,則結果是 w w 1 h h 1 method...

與n互質的平方和 容斥 數學

題目描述 小李子有n 1個朋友,分別編號為1.n 1,小李子的編號是n 小李子的表面朋友的編號會與小李子編號互質 我們定義小李子老年生活的悲慘度是表面朋友的編號的平方和 輸入 多組輸入 小於等於10000組 每組輸入乙個n 1e6 輸出 輸出小李子的悲慘度 樣例輸入 2 3 分析 求1 n與n互質的...

前n個自然數的平方和的求解方法 經典與獨創

用數數辦法求解 oo oooo。n個ooo ooo。n個o ooo。n個o n個o f n 1 2 3 n 2 3 n 3 n n n n 1 2 n 1 n 2 2 n 2 n 3 2 n n 1 n n 2 n n 1 2 n n 1 2 1 2 2 n n 1 2 2 3 2 n n 1 2 ...