1、 基於形狀的匹配
1> 建立roi
使用halcon 運算元可以方便的設定roi
標準形狀
◆ draw_rectangle1/2
◆ draw_circle
◆ draw_ellipse
◆ draw_line
任意形狀
◆ draw_region
◆ draw_polygon
生成標準roi
◆ gen_rectangle1/2
◆ gen_circle
◆ gen_ellipse
◆ gen_region_line
通過xld 建立aoi
◆ gen_region_contour_xld
◆ gen_region_polygon_xld
2> 生成roi
根據建立模板時得到的資料,生成roi區域,例如gen_rectangle2(roi,row,column,phi,length1,length2)
3> 修正roi
修正函式
◆ erosion_* 減小roi
◆ dilation_* 擴大roi
◆ shape_trans 形狀轉換
◆ boundary 畫素級邊界
◆ move_region 移動區域到新位置
組合
◆ intersection 交集
◆ difference 差集
◆ union2 並集
4> 直接建立模板
create_shape_model(
template , // 模板影象
numlevels, // 影象金字塔,將分辨降低n倍
anglestart, // 起始角度
angleextent, // 角度範圍
anglestep, // 角度步長
optimization, // 優化演算法
metric, // 極性,設定模板前景與背景、目標前景與背景的關係
contrast, // 對比度
mincontrast, // 最小對比度
modelid // 模板id
) create_scaled_shape_model
create_aniso_shape_model
注釋:
引數contrast 不僅僅是對比度,陣列元素數量不同,其意義不同
◆ 1個元素時:128,對比度,直接提取邊緣
◆ 2個元素時:[100, 128],表示使用磁滯分割來提取邊緣
◆ 3個元素時:[100, 128, 10],前兩個引數同2,最後乙個引數表示所提取邊緣的最小長度為10.
引數optimization
一些模板包含了太多畫素點,這導致
◆ 模板過大
◆ 增加執行時間
◆ 增加了記憶體需求
引數optimization 用來減少這些點
◆ none 不減少畫素
◆ point_reduction_low 大約一半點
◆ point_reduction_medium 大約1/3
◆ point_reduction_high 大約1/4
減少點可能導致的問題
◆ 可能導致無法建立高層金字塔
◆ 有可能會降低結果的精度和準確度原則
◆ 邊緣較多時才減少
相同環境下, optimization 取值不同時的執行時間對比
◆ none 14.53 ms
◆ point_reduction_low 12.53 ms
◆ point_reduction_medium 11.39 ms
◆ point_reduction_high 10.67 ms
引數-mincontrast
引數mincontrast 是在查詢模板的時候,來減少「有害」邊緣 的。它的 值可通過下面方法得到
◆ estimate_noise函式
◆ inspect_shape_model函式
5> 模板引數-程式獲取
determine_shape_model_params(
template, 模板
『auto』, 金字塔層數
0, 起始角度
rad(360), 角度範圍
0.9, 縮小範圍
1.1, 放大範圍
『auto』, 減少畫素的方法
『use_polarity』, 極性
『auto』, 對比度
『auto』, 最小對比度
『all』 , which values
parametername, name of values
parametervalue) values
6> 通過dxf檔案建立模板
通過畫素輪廓可以直接建立模板
◆ read_contour_xld_dxf
◆ create_shape_model_xld
◆ create_scaled_shape_model_xld
◆ create_aniso_shape_model_xld
7> 邊界處理
halcon 提供了兩種邊界處理方法
set_system (』 border_shape_models』,』false 『)
◆ 模板必須在 roi 內
◆ 靠近邊緣部分會被裁減
set_system (』 border_shape_models』,』true 『)
◆ 模板可以部分在 roi 外面
◆ 注意:分值會降低
10 halcon定位學習(2) 基於元件的匹配
1 基於元件的匹配 說明 基於元件的匹配是形狀匹配的擴充套件演算法 只有乙個元件會在整個roi 區域搜尋 其餘元件會根據元件之間的關聯關係去小範圍搜尋 條件 組合物體要包含幾個剛性元件 元件之間存在一定的位置關係 元件間的關係 全影象內搜尋 root component 根據root compone...
halcon學習教程1 halcon安裝
halcon是德國mvtec公司開發的一套完善的標準的機器視覺演算法包,擁有應用廣泛的機器視覺整合開發環境。它節約了產品成本,縮短了軟體開發周期 halcon靈活的架構便於機器視覺,醫學影象和影象分析應用的快速開發。在歐洲以及日本的工業界已經是公認具有最佳效能的machine vision軟體。ha...
halcon基於形狀的幾何定位函式說明
1.create shape model template reduce domain後的模板影象 numlevels,金字塔的層數,可設為 auto 或0 10的整數 anglestart,模板旋轉的起始角度 angleextent,模板旋轉角度範圍,0 anglestep,旋轉角度的步長,0 a...