Halcon学习---边界轮廓提取与圆弧段拟合

circles.hdev

read_image (Image, 'double_circle')
* 
* Init window
dev_close_window ()
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
* 
* Segment a region containing the edges
*快速阈值分割
fast_threshold (Image, Region, 0, 120, 7)
*使用形态学运算来计算区域的边界,这里就是将图片边界提取出来
boundary (Region, RegionBorder, 'inner')
*在原区域的基础上做一个最小外接矩形得到区域1,然后让刚才那个矩形上下左右都以5的像素内缩,得到矩形2,
*现在形成了一个矩形环,用区域1减去这个矩形环,得到剩下的区域就是目标区域
clip_region_rel (RegionBorder, RegionClipped, 5, 5, 5, 5)
*使用半径为2.5的圆形元素对区域进行膨胀
dilation_circle (RegionClipped, RegionDilation, 2.5)
*分离出目标区域(从原图中分离),不是分割,减小了图像的定义域,减小了计算
reduce_domain (Image, RegionDilation, ImageReduced)
* 
* In the subdomain of the image containing the edges,
* extract subpixel precise edges.
*过滤器提取亚像素精确边缘
edges_sub_pix (ImageReduced, Edges, 'canny', 2, 20, 60)
*分割XLD轮廓为线段和圆弧或椭圆弧
*segment_contours_xld(Contours : ContoursSplit :
*Mode, SmoothCont, MaxLineDist1, MaxLineDist2 : )
*Contours :输入轮廓;ContoursSplit:分割后的轮廓;Mode:轮廓分割模式;
*SmoothCont:用于平滑轮廓的点数;MaxLineDist1:轮廓与近似线之间的最大距离(第一次迭代);
*MaxLineDist2 :轮廓与近似线之间的最大距离(第二次迭代)
segment_contours_xld (Edges, ContoursSplit, 'lines_circles', 5, 4, 3)
*将目标区域分开成单个单个的区域并标记序号
count_obj (ContoursSplit, Number)
dev_display (Image)
dev_set_draw ('margin')
dev_set_color ('white')
dev_update_window ('off')
for I := 1 to Number by 1
    *拿出其中一个区域
    select_obj (ContoursSplit, ObjectSelected, I)
    *返回XLD轮廓的全局属性值’cont_approx’表示:对于’cont_approx’=-1,轮廓近似线段;
    *‘cont_approx’=0,曲线近似椭圆;‘cont_approx’=1,曲线近似圆弧。
    get_contour_global_attrib_xld (ObjectSelected, 'cont_approx', Attrib)
    * Fit a circle to the line segment that are arcs of a circle
    *大于0表示为圆弧段,用圆弧拟合
    if (Attrib > 0)
        *拟合圆
        fit_circle_contour_xld (ObjectSelected, 'ahuber', -1, 2, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)
        *将拟合的圆画出来
        gen_circle_contour_xld (ContCircle, Row, Column, Radius, 0, rad(360), 'positive', 1.0)
        dev_display (ContCircle)
    endif
endfor
dev_set_colored (12)
dev_set_line_width (3)
dev_display (ContoursSplit)

  • 4
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Halcon 10.0 是一款强大的机器视觉开发软件,支持在Windows系统上运行。halcon10.0-windows.exe 是Halcon 10.0 软件的可执行文件,用于在Windows系统上安装和运行该软件。 通过运行 halcon10.0-windows.exe 文件,用户可以开始安装Halcon 10.0 软件。安装过程中,用户需要按照提供的安装向导进行操作,包括选择安装路径、设置组件和功能、以及输入必要的许可证信息等。完成安装后,用户可以在自己的计算机上打开Halcon 10.0 软件。 Halcon 10.0 软件提供了丰富的功能和工具,用于开发和实现机器视觉应用。它支持图像处理、图像分析、模式匹配、三维视觉、相机校准等多项功能。用户可以通过Halcon 10.0 软件进行图像的预处理、特征提取、目标识别和测量等操作,从而实现各种视觉检测和测量任务。 除了功能强大的视觉算法和工具,Halcon 10.0 软件还提供了友好的用户界面和丰富的编程接口,使得用户可以根据自己的需求进行定制化开发和编程。用户可以通过编写脚本或使用常见的编程语言如C++、C#等来编写自己的机器视觉应用程序。 总而言之,halcon10.0-windows.exe 是Halcon 10.0 软件的安装文件,通过安装和运行该软件,用户可以方便地进行机器视觉应用的开发和实现。 ### 回答2: Halcon 10.0-windows.exe是一种软件程序,它是由MVTec Software GmbH开发的一款专业机器视觉软件。Halcon被广泛应用于各种工业领域,如制造业、物流、医疗等,用于图像处理、检测、识别和测量等方面的任务。 Halcon 10.0-windows.exe是Halcon 10.0版本的Windows操作系统的可执行文件。这意味着它可以在Windows操作系统上运行,并且可以直接从该可执行文件启动Halcon 10.0软件。 Halcon 10.0是Halcon软件最新的一个重要版本,它引入了许多新功能和改进,以提供更好的机器视觉解决方案。该版本具有更高的性能、更强大的图像处理能力和更便捷的用户界面。用户可以使用Halcon 10.0进行图像分析、模式识别、目标检测、形状测量等任务。此外,Halcon 10.0还支持多种编程语言和平台,并提供了丰富的开发工具和函数库,以便用户根据自己的需求进行定制和扩展。 对于使用Halcon进行机器视觉应用的用户来说,Halcon 10.0-windows.exe是一个非常重要的文件,它提供了启动Halcon 10.0软件的能力。用户只需双击该文件,就可以快速启动Halcon 10.0,并开始使用其功能进行图像处理和分析。对于那些希望在Windows操作系统上进行机器视觉开发和应用的用户来说,Halcon 10.0-windows.exe无疑是一个不可或缺的工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫呱呱

如果这篇博文对你有用,求打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值