機器視覺halcon軟體 獲取圓形的半徑和圓度

2021-08-01 21:23:40 字數 1824 閱讀 7968

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運算元簡單解析,總結...