1、要測量乙個圓的直徑,可以先通過閾值篩選出所需部分:threshold();
2、然後將選中部分組合connection (),選擇其中類圓度高的部分(根據選中部分與圓的相似度篩選出圓型部分):select_shape ();
3、選擇將所選的類圓區域擴大4個畫素點作為乙個區域,縮小2個畫素點作為乙個區域,然後將連個區域合併,再得到兩個區域不同的部分,那麼這個圓區域的邊緣就在這個合併區域中。使用的運算元有:dilation_circle,erosion_circle,difference,union1;
4、用運算元edges_sub_pix ()提取其邊緣輪廓;
5、此時的圓形區域並不是真正的圓,需用乙個橢圓去
擬合該圓物件:fit_ellipse_contour_xld;
read_image:
image:
halcon**:
dev_clear_window()
dev_close_window()
read_image (read_image, 'c:/users/leason/desktop/試驗/2.jpg')
rgb1_to_gray (read_image, image)
get_image_size (image, width, height)
dev_open_window_fit_image (image, 0, 0, width/3, height/3, windowhandle)
dev_display (image)
gen_rectangle1 (roi, 239.876, 8.5, 513.303, 695.5)
reduce_domain (image, roi, imagereduced)
threshold (imagereduced, roi, 80, 255)
connection (roi, darkregions)
select_shape (darkregions, circles, ['circularity','area'], 'and', [0.85,50], [1.0,99999])
count_obj (circles, number)//計算圓形的數量
select_obj (circles, pillselected,1)
dilation_circle (circles, roiouter, 4)
erosion_circle (circles, roiinner, 2)
difference (roiouter, roiinner, roi_dif)
union1 (roi_dif, roiedges)
reduce_domain (imagereduced, roiedges, imagereduced1)
*提取其邊緣輪廓
edges_sub_pix (imagereduced1, edges, 'lanser2', 0.3, 10, 20)
*區域的中點座標row, column,與x軸的角度phi,半長軸ra,半短軸rb,開始角度startphi,結束角度endphi
fit_ellipse_contour_xld (edges, 'ftukey', -1, 2, 0, 200, 3, 2, row, column, phi, ra, rb, startphi, endphi, pointorder)
HALCON機器視覺軟體怎麼學習?
halcon是德國mvtec公司開發的一套完善的標準的機器視覺演算法包,擁有應用廣泛的機器視覺整合開發環境。它節約了產品成本,縮短了軟體開發周期 halcon靈活的架構便於機器視覺,醫學影象和影象分析應用的快速開發。在歐洲以及日本的工業界已經是公認具有最佳效能的machine vision軟體。ha...
ROS和Halcon機器視覺軟體隨手記
學院有halcon機器視覺實驗室,先進自動化生產線也是使用halcon進行視覺處理。1.asr halcon bridge 2.asr ros 機器翻譯 軟體包包含乙個庫,用於在ros和halcon特定資料結構之間轉換點雲和影象。庫的結構主要基於cv bridge package,更多資訊,請檢視相...
Halcon 機器視覺中常用運算元
在機器視覺中,影象處理是必不可少的步驟。一般而言,呼叫第三方影象處理函式庫是視覺軟體方便快捷開發的一種手段。而在這其中,德國付費軟體halcon是行業內使用較多的一款影象處理函式庫。本人現在接觸學習使用的是halcon12.0版本,通過本文,將一些常見的,開發中使用的halcon運算元簡單解析,總結...