基於組件的模板匹配:
應用場合:組件匹配是形狀匹配的擴展,但不支持大小縮放匹配,一般用於多個對象(工件)定位的場合。
算法步驟:
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_template()
2.尋找模板:best_match()
3.釋放模板:clear_template()
基於互相關匹配:
應用場合:搜索對象有輕微的變形,大量的紋理,圖像模糊等場合,速度快,精度低。
1.創建模板:create_ncc_model()
2.尋找模板:find_ncc_model()
3.釋放模板:clear_ncc_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()