OpenCV之模板匹配

2021-10-18 06:16:44 字數 1727 閱讀 1229

模板匹配是在一幅影象中尋找與另一幅模板影象最匹配(相似)部分的技術,在opencv中,模板匹配由函式matchtemplate()函式實現。需要注意的是,模板匹配不是基於直方圖的,而是通過在輸入影象上滑**像塊,對實際的影象塊和輸入影象進行匹配的一種方法。

如圖,通過乙個人臉影象模板,在整個輸入影象上移動這張臉,尋找和這張臉相似的最優匹配。

matchtemplate()用於匹配出和模板重疊的影象區域,函式原型:

void matchtemplate(inputarray image, inputarray telp1, outputarray result, int method)
1、平方差匹配法method=tm_sqdiff

這類方法是用平方差來匹配,最好匹配為0,匹配越差,則匹配值越大。

2、歸一化平方差匹配法method=tm_sqdiff_normed

3、相關匹配法method=tm_ccorr

這類方法採用模板和影象件的乘法操作,所以較大的數表示匹配程度較高,0表示最壞的匹配結果。

4、歸一化相關匹配法method=tm_ccorr_normed

5、係數匹配法method=rm_ccoeff

這類方法將模板對其均值的相對值與影象對其均值的相關值進行匹配,1表示完美匹配,-1表示較差的匹配。0表示沒有任何相關性。

其中:

6、歸一化係數匹配法method=rm_ccoeff_normed

通常,從簡單的測量(平方差)到更複雜的測量(相關係數),我們可獲得越來越準確的匹配,但同時也會以越來越大的計算量為代價。

**示例:

#include #include #include #include #include using namespace std;

using namespace cv;

int main()

輸入:

輸出:

OpenCV模板匹配

include include opencv2 opencv.hpp using namespace std using namespace cv int main int argc,char argv load reference image img imread argv 1 always ch...

opencv模板匹配

模板匹配是一種用於在源影象s中尋找定位給定目標影象t 即模板影象 的技術。其原理很簡單,就是通過一些相似度準則來衡量兩個影象塊之間的相似度similarity s,t 2.用途 模板匹配方法常用於一些平面影象處理中,例如印刷中的數字 工業零器件等小尺寸目標影象識別分類。3.方法 模板匹配中,源影象和...

模板匹配opencv

模板匹配,就是在一幅影象中尋找另一幅模板影象最匹配 也就是最相似 的部分的技術。說的有點抽象,下面給個例子說明就很明白了。在上面這幅全明星照中,我們想找出姚明頭像的位置,並把它標記出來,可以做到嗎?可以,這就是模板匹配的要做的事情。其實模板匹配實現的思想也是很簡單很暴力的,就是拿著模板 姚明頭像 在...