在halcon中使用模板匹配助手进行定位真的很好用!!!
一、如何使用模板匹配助手
1、菜單欄中點擊助手---選擇打開新的Matching
?2、選擇對應的模板類型
二、模板匹配助手中每個界面的功能介紹?
(一)創建界面
1、模板來源
-
選擇是從圖像畫ROI創建還是讀取模板文件
2、模板資源
-
選項有基于圖像窗口、文件、采集助手
-
在創建模板的時候繪制ROI區域,對于ROI區域的繪制可以根據ROI監視更改
3、修改模板圖像
-
?點擊使能則可以使用該功能
4、金字塔層數
-
金字塔層級1對應的輪廓和圖像?
-
金字塔層級3對應的輪廓和圖像?
-
金字塔層級5對應的輪廓和圖像?
-
金字塔層級7對應的輪廓和圖像?
?5、標定來源
(二) 參數界面
-
關于角度步長:在0-360°進行搜索模板時模板以設置的角度步長進行一個匹配。步長大,執行次數少,可能存在的就是精度和穩定性差;步長小,執行次數多,這樣精度和穩定性比較高,同時會帶來的問題就是搜索時間比較久。針對不知道如何設置步長,可設置為'auto'
(三)應用
-
加載測試圖像進行檢測
?(四)檢測
-
點擊執行后會顯示一些和查找相關的信息數據
?(五)代碼
-
這里就可以插入代碼了
*模型初始化的開始
set_system ('border_shape_models', 'false')
*獲取模型圖片
read_image (Image, 'C:/Users/13601/Desktop/0.BMP')
*從基本區域構建ROI
gen_rectangle2 (ModelRegion, 674.29, 1110.63, rad(-176.76), 557.391, 298.746)
*簡化模型模板
reduce_domain (Image, ModelRegion, TemplateImage)
*創建形狀模型
create_shape_model (TemplateImage, 8, rad(0), rad(360), rad(0.2265), ['point_reduction_high','no_pregeneration'], 'use_polarity', [32,59,23], 7, ModelID)
*獲取模型輪廓,以便稍后將其轉換為圖像
get_shape_model_contours (ModelContours, ModelID, 1)
*獲取參考位置
area_center (ModelRegion, ModelRegionArea, RefRow, RefColumn)
vector_angle_to_rigid (0, 0, 0, RefRow, RefColumn, 0, HomMat2D)
affine_trans_contour_xld (ModelContours, TransContours, HomMat2D)
*顯示模型邊緣
dev_display (Image)
dev_set_color ('green')
dev_set_draw ('margin')
dev_display (ModelRegion)
dev_display (TransContours)
stop ()
*模型初始化的結束
*模型應用的開始
*遍歷所有指定的測試圖像
TestImages := ['C:/Users/13601/Desktop/1.BMP','C:/Users/13601/Desktop/2.BMP']
for T := 0 to 1 by 1
? ? *獲取測試圖像
? ? read_image (Image, TestImages[T])
? ? *在檢測圖像中尋找模板
? ? find_shape_model (Image, ModelID, rad(0), rad(360), 0.5, 2, 0.75, 'least_squares', [8,3], 0.75, Row, Column, Angle, Score)
? ? *將模型輪廓變換為檢測到的位置
? ? dev_display (Image)
? ? for I := 0 to |Score| - 1 by 1
? ? ? ? hom_mat2d_identity (HomMat2D)
? ? ? ? hom_mat2d_rotate (HomMat2D, Angle[I], 0, 0, HomMat2D)
? ? ? ? hom_mat2d_translate (HomMat2D, Row[I], Column[I], HomMat2D)
? ? ? ? affine_trans_contour_xld (ModelContours, TransContours, HomMat2D)
? ? ? ? dev_set_color ('green')
? ? ? ? dev_display (TransContours)
? ? ? ? stop ()
? ? endfor
endfor
?
總結
以上是生活随笔為你收集整理的在halcon中使用模板匹配助手进行定位真的很好用!!!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringCloud Bus 动态刷新
- 下一篇: termux获取sd卡读写权限_我牵手金