halcon測量硬幣真實直徑

2021-09-12 07:51:28 字數 2348 閱讀 4919

2019.3.10   9:25am
熟練掌握halcon相機標定,理解其意義並且知道如何應用內外引數。

在這個問題中,首先要測出硬幣在影象中的畫素尺寸,然後通過相機引數以及相關運算元得到硬幣在世界座標系下的真實直徑。

1.halcon進行相機標定

2.對硬幣影象進行處理

3. 處理後的影象擬合圓得到畫素直徑

4.通過相機外參得到硬幣真實直徑

*用halcon自帶標定視窗進行相機標定

gen_caltab (7, 7, 0.075, 0.5, 'caltab.descr', 'caltab.ps')

* calibration 01: code generated by calibration 01

cameraparameters := [0.0173187,-446.633,1.66925e-006,1.67e-006,1943.27,1446.01,3840,2748]

camerapose := [0.0294283,-0.0226181,2.45361,1.0148,0.41478,359.391,0]

stop ()

*影象點轉換成世界座標點

image_points_to_world_plane (cameraparameters, camerapose, 100, 100, 'm', x, y)

pixeldist := 0.000508

*影象處理

read_image (image, 'c:/users/administrator/mvs/data/啦啦.bmp')

rgb1_to_gray (image, grayimage)

mean_image (grayimage, imagemean, 3, 3)

threshold (imagemean, regions, 87, 131)

connection (regions, connectedregions)

select_shape (connectedregions, selectedregions, ['area','row','column'], 'and', [0,1704.74,376.48], [100000,2110.83,943.32])

fill_up (selectedregions, regionfillup)

erosion_circle (regionfillup, regionerosion, 15)

opening_circle (regionerosion, regionopening, 15)

gen_contour_region_xld (regionopening, contours1, 'border')

*生成邊界閉合輪廓

fit_circle_contour_xld (contours1, 'algebraic', -1, 0, 0, 3, 2, row1, column1, radius1, startphi, endphi, pointorder)

*用圓近似閉合輪廓

gen_circle (circle1, row1, column1, radius1)

reduce_domain (imagemean, circle1, imagereduced1)

dev_display (imagereduced1)

dev_set_draw ('margin')

disp_circle (3600, row1, column1, radius1)

realdiameter:=(radius1*2* pixeldist * 100)$'4.2f'

disp_message (3600,'實際直徑:'+realdiameter+'mm', 'image', row1, column1, 'black', 'true')

q1:在進行標定時提取不到影象上的標定點

a1:因為受到光照因素影響,需調整光源位置重新拍照

q2:影象處理時無法只得到硬幣輪廓

a2:需要對影象進行填充處理具體運算元fill_up,擬合圓需要用到膨脹和腐蝕得到更加準確的畫素圓周,最後用 fit_circle_contour_xld運算元得到擬合圓

q3:真實直徑公式中pixeldist的具體含義

a3:標定後的影象乙個畫素代表的實際距離

我國一毛錢真實直徑為19.00mm,游標卡尺測得被測硬幣直徑為18.96mm,我最後得到的測量結果為18.99mm。誤差在允許範圍內。

Halcon一維測量 直線測量

1 測量直線對距離的運算元 gen measure rectangle2 measure pairs gen measure rectangle2 row,column phi length1 length2 width height interpolation measurehandle 獲取測量...

Halcon 一維測量

一 一維測量思路大致步驟 1.構造測量物件 建立測量區域 2.剖面線計算 做灰度值平均投影 3.剖面線光滑 消除雜訊 4.剖面線求導 5.區域性極值 邊緣 二 一維測量運算元 1.gen measure arc 2.gen measure rectangle2 3.measure pos 4.mea...

halcon二維測量

halcon二維測量的基本步驟 1.預處理,這裡指的是的濾波等手段,使要測量的特徵凸顯化,有效去除噪點干擾等。2.閾值化,通過閾值化抽取出影象的特徵,通常使用灰度閾值化,但halcon中沒有特意的將轉換成灰度圖,而是直接呼叫閾值化處理函式。同時灰度直方圖能幫助開發人員快速找到閾值範圍。3.閾值化之後...