halcon 模板匹配的方法

https://blog.csdn.net/u013928315/article/details/81510301

***************************************************

一、基於灰度:  灰度 + ncc

二、基於形狀:  形狀(形變:同步/異步) + 組件

三、基於描述點: 描述符

 

***************************************************

1.1 基於灰度的模板匹配:

應用場合:定位對象內部的灰度值沒有大的變化,沒有缺失部分,沒有干擾圖像和噪聲的場合。

1.創建模板:create_template()

2.尋找模板:best_match()

3.釋放模板:clear_template()

1.2基於互相關匹配:

應用場合:搜索對象有輕微的變形,大量的紋理,圖像模糊等場合,速度快,精度低。

1.創建模板:create_ncc_model()

2.尋找模板:find_ncc_model()

3.釋放模板:clear_ncc_model()

 

2.1 基於形狀的模板匹配:

應用場合:定位對象內部的灰度值可以有變化,但對象輪廓一定要清晰平滑。

1.創建形狀模型:create_shape_model()

2.尋找形狀模型:find_shpae_model()

3.釋放形狀模型:clear_shape_model()

2.2 基於變形匹配:

應用場合:搜索對象有輕微的變形。

1.創建模板:create_local_deformable_model()

2.尋找模板:find_local_deformable_model()

3.釋放模板:clear_deformable_model()

2.3基於組件的模板匹配:

應用場合:組件匹配是形狀匹配的擴展,但不支持大小縮放匹配,一般用於多個對象(工件)定位的場合。

算法步驟:

1.獲取組件模型裏的初始控件 gen_initial_components()

參數:

ModelImage [Input] 初始組件的圖片

InitialComponents [Output] 初始組件的輪廓區域

ContrastLow [Input] 對比度下限

ContrastHigh [Input] 對比度上限

MinSize [Input] 初始組件的最小尺寸

Mode[Input] 自動分段的類型

GenericName [Input] 可選控制參數的名稱

GenericValue [Input] 可選控制參數的值

2.根據圖像模型,初始組件,訓練圖片來訓練組件和組件相互關係  train_model_components()

3.創建組件模型 create_trained_component_model()

4.尋找組件模型 find_component_model()

5.釋放組件模型 clear_component_model()

 

 

3 基於描述匹配:

應用場合:搜索對象有輕微的變形,透視的場合,根據一些描述點的位置和灰度值來進行匹配。

1.創建模板:create_calib_descriptor_model()

2.尋找模板:find_calib_descriptor_model()

3.釋放模板:clear_descriptor_model(
https://blog.csdn.net/u013928315/article/details/81510301

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章