halcon脚本根据硬币估计圆形面积

根据硬币测试圆形物体面积
* Image Acquisition 01: Code generated by Image Acquisition 01
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'gray', -1, 'false', 'default', '[1] ', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowID)
while (true)
 grab_image_async (Image, AcqHandle, -1)
 gauss_filter (Image, ImageGauss, 7)
 threshold (ImageGauss, Regions, 44, 239)
 connection (Regions, ConnectedRegions)
 fill_up (ConnectedRegions, RegionFillUp)
 select_shape (RegionFillUp, SelectedRegions, 'area', 'and', 75229.4, 2e+006)
 select_shape (SelectedRegions, SelectedRegions1, 'area', 'and', 0, 701835)
 smallest_circle (SelectedRegions1, Row, Column, Radius)
 coin_r := Radius
 coin_area := pow(coin_r,2) * 3.1415926
 area_rate := coin_area/4.90625
 r_rate := coin_r/1.25
 select_shape (SelectedRegions, SelectedRegions2, 'area', 'and', 133945, 2e+006)
 smallest_circle (SelectedRegions2, Row1, Column1, Radius1)
 odj_r := Radius1
 obj_area := pow(odj_r,2)*3.1415926
 obj_rel_r := odj_r/r_rate
 obj_rel_area := obj_area / area_rate
 obj_r_area := pow(obj_rel_r,2)*3.1415926
 error := obj_rel_r / obj_r_area
 dev_display (Image)
 disp_message (WindowID, '物体的直径(像素比例推导):'+obj_rel_r+'\n由直径计算的物体面积:'+obj_r_area+'\n由像素比例计算物体的面积:'+obj_rel_area + '\n误差:'+error+'\n注:物体的面积与直径为分开测量,面积不是由直径得到,是根据像素比例计算', 'window', 0, 0, 'black', 'true')
endwhile
close_framegrabber (AcqHandle)收起

猜你喜欢

转载自blog.csdn.net/qq_40238526/article/details/90454123