4.3 基于模板匹配的邊緣檢測
模板匹配(template matching)就是研究圖像與模板(template)的一致性(匹配程度)。為此,準備了幾個表示邊緣的標準模式與圖像的一部分進行比較,選取最相似的部分作為結果圖像。如圖4.3所示的Prewitt算子,共有對應于8個邊緣方向的8種掩模(mask)。圖4.4說明了這些掩模與實際圖像如何進行比較。與微分運算相同,目標像素及其周圍(3×3鄰域)像素分別乘以對應掩模的系數值,然后對各個積求和。對8個掩模分別進行計算,其中計算結果中最大的掩模的方向即為邊緣的方向,其計算結果即為邊緣的強度。

圖4.3 用于模板匹配的各個掩模模式(Prewitt算子)

圖4.4 模板匹配的計算例
圖4.5是一幀圖像采用不同微分算子處理的結果??梢钥闯?,采用不同的微分算子,處理結果是不一樣的。在實際應用時,可以根據具體情況選用不同的微分算子,如果處理效果差不多,要盡量選用計算量少的算子,這樣可以提高處理速度。例如,在圖4.5中,(b)和(d)的微分效果差不多,但是(b)Sobel算子的計算量就會比(d)Prewitt算子少很多。

圖4.5 不同算子的微分圖像
另外,當目標對象的方向性已知時,如果使用模板匹配算子,就可以只選用方向性與目標對象相同的模板進行計算,這樣可以在獲得良好檢測效果的同時,大大減少計算量。例如,在檢測公路上的車道線時,由于車道線是垂直向前的,也就是說需要檢測左右邊緣,如果選用Prewitt算子,可以只計算檢測左右邊緣的③和⑦,這樣就可以使計算量減少到使用全部算子的1/4。減少處理量,對于實時處理,具有非常重要的意義。
此外,在模板匹配中,經常使用的還有圖4.6所示的Kirsch算子和圖4.7所示的Robinson算子等。

圖4.6 Kirsch算子

圖4.7 Robinson算子