1、基於灰度:灰度,互相關ncc
2、基於形狀:形狀,組件
3、基於描述符:描述匹配
應用場合:定位對象內部的灰度值沒有大的變化,沒有缺失部分,沒有幹擾圖像和噪聲的場合。
1.創建模板:create_template()
2.尋找模板:best_match()
3.釋放模板:clear_template()
應用場合:搜索對象有輕微的變形,大量的紋理,圖像模糊等場合,速度快,精度低。
1.創建模板:create_ncc_model()
2.尋找模板:find_ncc_model(),find_ncc_models()
3.釋放模板:clear_ncc_model()
4.get_ncc_model_region (ModelRegion, ModelID)
smallest_rectangle2 (ModelRegion, Row3, Column3, Phi, Length1, Length2)
應用場合:組件匹配是形狀匹配的擴展,但不支持大小縮放匹配,壹般用於多個對象(工件)定位的場合。
算法步驟:
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()
應用場合:定位對象內部的灰度值可以有變化,但對象輪廓壹定要清晰平滑。
1.創建形狀模型:create_shape_model()
2.尋找形狀模型:find_shpae_model()
3.釋放形狀模型:clear_shape_model()
應用場合:搜索對象有輕微的變形。
1.創建模板:create_local_deformable_model()
2.尋找模板:find_local_deformable_model()
3.釋放模板:clear_deformable_model()
應用場合:搜索對象有輕微的變形,透視的場合,根據壹些描述點的位置和灰度值來進行匹配。
1.創建模板:create_calib_descriptor_model()
2.尋找模板:find_calib_descriptor_model()
3.釋放模板:clear_descriptor_model()