halcon模板匹配学习(一) Matching 初印象
什么是模板匹配呢?簡(jiǎn)單而言,就是在圖像中尋找目標(biāo)圖像(模板),或者說,就是在圖像中尋找與模板圖像相似部分的一種圖像處理技術(shù)。依賴于選擇的方法不同,模板匹配可以處理各種情形下的變換,如照明、雜點(diǎn)、大小、位置以及旋轉(zhuǎn),甚至模版內(nèi)部的相對(duì)移動(dòng)。
模版匹配的魯棒性和靈活性都很高,而且很多參數(shù)可以自適應(yīng)生成,只有極少的參數(shù)需要配置。
在Halcon中,提供了各種不同的匹配方法。不同方法的選擇依賴于圖像數(shù)據(jù)以及要解決的任務(wù)。
匹配的流程
Acquire Images
對(duì)于訓(xùn)練和匹配,首先必須先有圖像。
Create(Train) Model
為了生成一個(gè)模板,首先在訓(xùn)練圖像中,必須指定包含模板的ROI區(qū)域。僅僅這些區(qū)域是重要的和穩(wěn)定的,應(yīng)該被用來訓(xùn)練。訓(xùn)練算子的輸入是裁剪后的圖像(可以使用reduce_domain完成)和控制參數(shù)。輸出是模型句柄。模型將用來立即搜索圖像。
Find Model
一旦創(chuàng)建好(或者讀入)了模型,立即可以用于定位圖像中的目標(biāo)。
如果一個(gè)或者多個(gè)目標(biāo)被發(fā)現(xiàn),他們的姿勢(shì)(位置position、旋轉(zhuǎn)rotation、縮放scaling)或者
2D仿射變換矩陣和分?jǐn)?shù)(score)被返回。這些值可以被作為下一步的處理。如對(duì)齊ROI。
Destroy Model
當(dāng)我們不需要匹配模型時(shí),你應(yīng)該銷毀它。比如,對(duì)于shape-based 匹配,可以使用
clear_shape_model來銷毀。
各種匹配方法簡(jiǎn)介
| Gray Value-based Matching | 要求照明不變的,內(nèi)部灰度值和模板相同,應(yīng)用極少 |
| Correlation-based Matching | 不變性體現(xiàn)在:散焦、輕微的形變,線性光源,可以很好地處理紋理。 ,僅僅可以處理灰度圖像,不支持雜點(diǎn)、遮擋、縮放、非線性照明變換、以及多通道圖像 |
| shape-based Matching | 可以處理雜點(diǎn)、遮擋、縮放、非線性照明變換、散焦以及輕微的變形,可以處理多通道圖像,也可以一次處理多個(gè)模型。但是對(duì)于紋理支持不好 。 |
| Component-based Matching | 模板內(nèi)部各個(gè)部分可以相對(duì)移動(dòng)。可以處理雜點(diǎn)、遮擋、縮放、非線性照明變換,可以處理多通道圖像,也可以一次處理多個(gè)模型。但是對(duì)于紋理支持不好,且不能支持散焦以及變形。 |
| Local deformable Matching | 可以返回模板樣例的變形,可以處理雜點(diǎn)、遮擋、縮放、非線性照明變換、局部變形,可以處理多通道圖像 |
| Perspective deformable Matching | 可以處理雜點(diǎn)、遮擋、縮放、非線性照明變換、散焦、透視形變,可以處理多通道圖像,但是很難處理紋理 。 |
| Descriptor-based Matching | 可以處理雜點(diǎn)、遮擋、縮放、非線性照明變換、透視形變,但是不能處理紋理、散焦以及多通道圖像。 |
需要說明的是Component-based Matching。
基于部分的匹配是基于形狀匹配的加強(qiáng)版。原因在于它可以允許內(nèi)部的各個(gè)部件
移動(dòng)(旋轉(zhuǎn)和平移)。比如我們常見的鉗子。有兩個(gè)分支組成。但是分支可開可合。這時(shí)使用基于分支的匹配可以一次性處理這樣一個(gè)組合物。否則可能得分開處理。
匹配方法的快速引導(dǎo)
如下的幾幅圖簡(jiǎn)單介紹了如何針對(duì)特殊的應(yīng)用,選擇合適的匹配方法。
圖1,總結(jié)了比較粗糙地選擇匹配的方法
圖1
圖2,介紹了幾種形變
圖2
圖3,介紹了不同方法可以處理的形變
圖3
圖4,介紹了不同方法可以返回的參數(shù)信息
圖4
圖5,介紹了幾種典型的目標(biāo)外觀變換
圖5
圖6,介紹了不同方法可以處理的目標(biāo)外觀變化
圖6
總結(jié)
以上是生活随笔為你收集整理的halcon模板匹配学习(一) Matching 初印象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vivado 2019.1 使用教程
- 下一篇: java简历专业技能,附详细答案解析