halcon 圆检测(识别圆、圆拟合)
来源:互联网 发布:war3 for mac打不开 编辑:程序博客网 时间:2024/05/21 10:32
## halcon 圆检测(识别圆、圆拟合) ##
- 要求:
如图:
识别左边大的圆孔- 算法实现及讲解:
dev_close_window ()***读取图片read_image (Image, 'E:01.JPG')get_image_size (Image, Width, Height)dev_open_window (0, 0, Width/2, Height/2, 'black', WindowHandle)dev_display (Image)rgb1_to_gray (Image, GrayImage)***分割区域*选取圆所在区域,缩小图像处理范围gen_circle (ROI_0, 541.5, 141.5, 151.539)reduce_domain (GrayImage, ROI_0, ImageReduced)**阈值分割dev_set_draw ('fill')threshold (ImageReduced, Regions, 115, 255)*取Region边界boundary (Regions, RegionBorder, 'inner')**膨胀dilation_circle (RegionBorder, RegionDilation, 2.5)*在弧形区域进行边缘检测edges_sub_pix (ImageReduced, Edges, 'canny', 1, 20, 40)*分割边缘:线和圆*对检测的边缘进行分割,识别线或者圆'lines_circles',segment_contours_xld (Edges, ContoursSplit, 'lines_circles', 5, 5, 8)*统计识别出圆或线的数量count_obj (ContoursSplit, Number)stop()dev_close_window ()dev_open_window (0, 0, Width/2, Height/2, 'black', WindowHandle)dev_display (Image)dev_set_draw ('margin')dev_set_color ('red')dev_update_window ('off')*储存拟合圆的圆心坐标和半径ROW:=[]COL:=[]Rad:=[]n:=0for i := 1 to Number by 1 *选择轮廓并根据特性确定是否拟合圆:* Attrib = -1 线段 0 椭圆 1圆 select_obj (ContoursSplit, ObjectSelected, i) get_contour_global_attrib_xld (ObjectSelected, 'cont_approx', Attrib) if (Attrib > 0) *逼近结果生成一个圆轮廓 fit_circle_contour_xld (ObjectSelected, 'ahuber', -1, 2, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder) *这里会生成大量的拟合圆,通过添加条件,选取自己需要的圆,这里 *条件为半径,(可以自己注释条件,查看所有拟合圆结果 ) if(Radius<73 and Radius>70) *生成轮廓 gen_circle_contour_xld (ContCircle, Row, Column, Radius, 0, rad(360), 'positive', 1.0) *记录圆的圆心坐标和半径信息 ROW[n]:=Row COL[n]:=Column Rad[n]:=Radius n:=n+1 dev_display (ContCircle) endif endifendfor
0 0
- halcon 圆检测(识别圆、圆拟合)
- Halcon学习之拟合圆
- halcon 检测圆
- Halcon学习备忘六(拟合圆的一种方法)
- Halcon学习备忘六(拟合圆的一种方法)
- Halcon算子之fit_circle_contour_xld,用于圆拟合XLD轮廓
- halcon 边沿检测识别
- 检测轮廓,直线,圆以及直线拟合
- 检测轮廓,直线,圆以及直线拟合
- 最小二乘法直线拟合、圆拟合
- 圆检测——最小二乘法拟合圆的推导
- opencv笔记:检测轮廓,直线,圆以及直线拟合
- 我的OpenCV学习笔记(19):检测轮廓,直线,圆以及直线拟合
- OpenCV学习笔记(19):检测轮廓,直线,圆以及直线拟合
- 【Halcon】 Halcon直线检测(LD)
- 最小拟合圆
- 圆及椭圆拟合
- 最小二乘法拟合圆
- JBoss页面部署消息队列及相关例子
- spring+springmvc+hibernate整合后,form表单传值问题
- android ScrollView中嵌套GridView,ListView只显示一行的解决办法
- (转)c++字符集的问题
- android studio 的aidl 文件创建步骤
- halcon 圆检测(识别圆、圆拟合)
- Android 小笔记 Uri获取绝对路径 、路径转Bitmap、获取屏幕截图
- RxJava 的使用详解(一)
- 新站不收录内页怎么办,加快新站内页收录的方法!
- java集合框架(三)——映射
- HDU 1846 巴什博奕(Bash Game)
- vxworks错误码解读
- ubantu 配置jdk tomcat xshell连接
- CodeForces798C Mike and gcd problem(思路)