Halcon 获取内圆环圆心|半径

上结果:
在这里插入图片描述
上原图:
在这里插入图片描述
上代码:

*获取图片
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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章