實時模板匹配算法簡介
V ersion1.0 2009.11.10
一.基于 OpenCV 開發(fā)
OpenCV 是 Intel公司資助的開源計算機視覺庫,由一系列 C 函數(shù)和少量 C++類構成,
實現(xiàn)了圖像處理和計算機視覺方面的很多通用算法。OpenCV 擁有包括 300 多個 C函數(shù)的跨平臺的中、高層 API,
對非商業(yè)應用和研究領域應用都是免費(FREE)的。
本套機器視覺模板匹配算法以 OpenCV 提供的開源圖像處理庫為基礎,
利用其成熟可靠的數(shù)據(jù)結構和基本處理算法,通過理論研究與算法優(yōu)化,結合實際應
用而開發(fā)出的產品。
目前,模板匹配算法方面主要有兩類:基于灰度相關的匹配算法和基于幾何特征的模板匹配算法。
二.灰度相關的匹配算法
基于灰度相關的匹配算法以圖像灰度值直接作為匹配信息。算法簡單、穩(wěn)定,
要求目標與背景有明顯對比度,對匹配目標內容沒有要求,輪廓清晰度要求不高。
缺點是對光照要求比較嚴格,當外界光照變化比較大時,會產生匹配偏差,影響
匹配結果。
本軟件包產品開發(fā)出的基于灰度相關的匹配算法性能如下:
1. 精度:0.05 像素 (亞像素級別)
2. 角度:不帶旋轉功能
3. 處理時間:
單目標搜索——對于目標圖像大小為 640×480 像素的圖像,模板大小為 100
×100 像素,CPU 雙核 1.6G 的條件下,處理時間小于 4ms (搜索單個目標)。
多目標搜索——目標圖像大小為 640×480,模板大小為 66×78,CPU 雙核
1.6G 的條件下,處理時間小于 6.5ms(搜索目標為 11 個)。
以下是調用本軟件動態(tài)鏈接庫編寫的一個 Demo 程序進行匹配的結果。
三.基于幾何特征的匹配算法
基于幾何特征的模板匹配算法對于光照的影響不是很敏感,且可以有效地處
理遮擋問題,對于非剛性變形(伸縮、旋轉等)也可以得到滿意的效果。算法首
先提取出模板的特征信息,如邊緣、角點、模板重心……。并對特征進行訓練,
通過訓練后得到的特征對目標圖像進行特定搜索匹配;趲缀翁卣鞯哪0迤ヅ
方法具有魯棒性好、抗干擾性強;對于復雜情況如遮擋和部分隱藏的情況也可以
得到預想的匹配效果;而且可以很好的處理旋轉、伸縮變形、微小畸變的情況。
本軟件開發(fā)包幾何模板匹配功能:
1、魯棒性:可處理遮擋、光照不均勻、明暗變化等情況
2、旋轉:搜索角度范圍為:0.0~360.0o 任意角度
3、匹配精度:位置精度為 0.05 像素,角度精度為 0.01 度
4、匹配耗時:全角度搜索小于 30ms (圖像大小 640×480,模板大小 160×180,
CPU:雙核 1.6G);搜索角度 60 度以內,匹配耗時小于 15ms;搜索角度 30 度以
內,匹配耗時小于 10ms。