歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> OpenCV_模板匹配(Template Matching)

OpenCV_模板匹配(Template Matching)

日期:2017/3/1 10:02:39   编辑:Linux編程

1. 什麼是模板匹配?

模板匹配是一種用於在源圖像S中尋找定位給定目標圖像T(即模板圖像)的技術。其原理很簡單,就是通過一些相似度准則來衡量兩個圖像塊之間的相似度Similarity(S,T)。

2. 用途

模板匹配方法常用於一些平面圖像處理中,例如印刷中的數字、工業零器件等小尺寸目標圖像識別分類。

3. 方法

模板匹配中,源圖像和模板圖像可以是二值圖像、灰度圖像、彩色圖像。

一般而言,模板匹配有兩種使用場景:

1)如果源圖像S與模板圖像T大小(高和寬)一致,則直接使用相似度計算公式對這兩個圖像進行相似度計算。

2)如果源圖像S的size大於模板圖像T,則在S中匹配T時,需要滑動匹配窗口(即模板圖像的大小),計算模板圖像與該窗口對應的圖像區域之間的相似度。對整張S圖像滑動完後,得到多個匹配結果。這裡,有兩種方式獲取匹配結果。一種是返回所有匹配結果中的最佳匹配結果(最小值或最大值,依相似度計算方式而定)。另一種,是設定一個阈值,大於或小於該阈值的匹配結果都認為是有效的匹配。

例如,如圖1所示,想要在大圖中定位到小圖(小狗的頭部),使用模板匹配時的滑動過程如圖2所示:

圖1

(來源:http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#template-matching)

圖2

(來源:http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#template-matching)

滑動完整張大圖後,得到一張包含所有匹配結果的圖,如圖3所示。圖3中的一個像素位置代表了一次模板匹配的結果。

圖3

(來源:http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#template-matching)

Copyright © Linux教程網 All Rights Reserved