Halcon 获取内圆环圆心|半径
程序员文章站
2022-05-21 09:29:53
...
上结果:
上原图:
上代码:
*获取图片
read_image (Image, 'D:/HalconWorkplace/img/OCR2.png')
get_image_size (Image, Width, Height)
dev_close_window ()
dev_open_window (0, 0, Width, Height, 'black', WindowID)
*二值化
threshold (Image, Region1, 220, 255)
*膨胀腐蚀操作
erosion_rectangle1 (Region1, ccc, 20, 20)
dilation_rectangle1 (ccc, aaa,20, 20)
*像素融合
connection (aaa, ConnectedRegions)
*获取边缘
gen_contour_region_xld (ConnectedRegions, Contours, 'border')
*选择合适大小区域
select_shape(ConnectedRegions, SelectedRegions1, 'circularity', 'and', 0.6, 1)
*获取取到圆的边缘
gen_contour_region_xld (SelectedRegions1, ppp, 'border')
*获取圆面积以及中心坐标
area_center (SelectedRegions1, Area, Row,Column)
*获取包围圈长度
fuzzy_perimeter (SelectedRegions1,Image, 0, 255, Perimeter)
*求半径
CRadius:=sqrt(Area/3.1415926)
*求周长
CCircumference := CRadius*2*3.1415926
dev_display(Image)
dev_display(ppp)
*改变字体颜色
dev_set_color ('green')
*显示圆心
disp_circle (WindowID, Row, Column, 12)
*显示文字
set_tposition (WindowID, 200, 350)
write_string (WindowID,'圆心为:('+Column+','+Row+')')
set_tposition (WindowID, 340, 390)
write_string (WindowID,'半径为: '+CRadius)
上一篇: websocket 的原理 + 理解
下一篇: Focal Loss的python绘图