Halcon提取边缘线段lines_gauss 算子

这篇具有很好参考价值的文章主要介绍了Halcon提取边缘线段lines_gauss 算子。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Halcon提取边缘线段lines_gauss 算子

edges_color_sub_pix和edges_sub_pix两个算子使用边缘滤波器进行边缘检测。还有一个常用的算子lines_gauss算子,也可以用于提取边缘线段,它的鲁棒性非常好,提取出的线段类型是亚像素精度的XLD轮廓。其原型如下:

lines gauss(Image : Lines : Sigma, Low, High, LightDark, ExtractWidth,  LineModel, CompleteJunctions :)

其各参数含义如下。
参数1:Image为输入的单通道图像。
参数2:Lines 为输出的一组亚像素精度的XLD轮廓线条。
参数3:Sigma 为输入的高斯平滑的值。较大的平滑值会使图像平滑的力度更大,但过度平滑也可能导致提取的线条位置有偏差。默认为1.5。在需要提取线条宽度时,Sigma 的值应根据要提取的线条宽度进行调节,最小值应不小于w13(w为线条宽度,即线条直径的一半)。例如,对于宽度为4的线条,Sigma值应不小于2.3。
参数4和5:Low和High 为输入参数,分别表示滞后阈值的低阈值和高阈值。高阈值越低,边缘线条的细节会越丰富。如果Sigma选得比较大,闽值就应选择较低的高阈值和较高的低阈值。因为选择的Sigma越大,二阶导数就越小。低阈值和高阈值也可以根据要提取的线的相应灰度对比度和Sigma参数值进行计算。
参数6:LightDark为输入参数,表示提取较亮的线条还是较暗的线条。默认为light,即提取较亮线条。
参数7:ExtractWidth为输入参数,表示是否需要提取线条的宽度。默认为true,即提取每条线段的宽度值。
参数8:LineModel为输入参数,表示调整线条位置和宽度的线段模型。可选的有 bar-shaped(条型)、gaussian(高斯型)、parabolic(抛物线型)。默认为条型,大多数应用场景都可以选择该选项。如果是背光比较强的情况,可以考虑另外两种模型。其中,当图像中的线条比较清晰明锐时,可以选择抛物线型;如果不是特别清晰,可以选择高斯型。注意,LineModel 仅在ExtractWidth为true时才有意义。
参数9:CompleteJunctions为输入参数,表示是否添加连接,用于边缘线段不连续的情况,默认为true。因为某些非连通线段无法通过边缘提取器进行提取,所以这里设为true,即可使用其他方式尝试对非连续部分进行连接。注意,如果线条的宽度过大,建议先对图像进行一定比例的缩小,以减少过度计算消耗的时间。
图(a)为lines_gauss算子输入的单通道图像,图(b)为使用lines_gauss算子进行边缘检测的结果。这里选用了bar-shaped进行边缘滤波处理,低阈值为1,高阈值为8。
Halcon提取边缘线段lines_gauss 算子,人工智能,前端,算法,计算机视觉,图像处理
实现代码如下:

read_image (Image,'data/flower')
rgbl_to_gray (Image, GrayImage)
dev_open_window (0, 512, 512, 512, 'black', WindowHandle1)
*进行边缘检测
lines_gauss(GrayImage,Lines,1.5,1,8,'light','true','bar-shaped','true')
*在窗口中将轮廓线条绘制出来
dev_set_color ('red')
dev_clear_window ()
dev_display (Lines)

本例中使用lines_gauss 算子进行边缘检测。需要注意的是,lines_gauss算子的响应速度不算快,如果边缘的高阈值设置得偏低,会导致需要计算的边缘增多,可能会有明显的卡顿。
也有一个与lines_gauss算子类似的、针对彩色多通道图像的算子,即lines_color算子。该算子的参数与lines_gauss算子相似,用于提取彩色的边缘线条。值得一提的是,如果该算子的ExtractWidth参数设为false,那么返回的线条中将会包含其他属性,如线条的角度、二阶导数的梯度等。文章来源地址https://www.toymoban.com/news/detail-800462.html

到了这里,关于Halcon提取边缘线段lines_gauss 算子的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Halcon 边缘提取

    edges_image 对于图像进行边缘提取 close_edges 关闭边缘间隙,封闭图形 frei_amp 获取边缘幅度 kirsch_amp 边缘幅度 kirsch_dir 使用Kirsch算子检测边缘(幅值和相位) sobel_amp 边缘提取 boundary 对区域轮廓进行提取 skeleton 提取骨架 gen_contours_skeleton_xld 生成亚像素骨架轮廓 nonmax_suppression_d

    2024年01月21日
    浏览(88)
  • matlab实现图像滤波、边缘提取(5种算子)、锐化(两种梯度算子)

    1.图像3*3均值滤波,中值滤波。 2.分别用梯度、sobel、拉普拉斯算子进行图像锐化。 3.使用多种算子(至少五种)对图片进行边缘提取。比较各算子特点,分析处理结果,图像中哪些地方处理效果不好,可能原因是什么。 PC机,matlab 图像滤波,即在尽量保留图像细节特征的条

    2024年02月05日
    浏览(42)
  • Halcon中亚像素边缘,轮廓提取处理的各种方法

    在图像处理中,提取图像特征主要从两个角度,区域或者边缘。提取亚像素边缘有三种思路,提取过后再用边缘模板匹配,连接与分割都可以。这里不涉及边缘对用作视觉测量类的算子,仅对刚学习halcon的新人而言。 这幅图代表着在项目的过程中使用边缘的三种思路。之前某

    2024年02月14日
    浏览(33)
  • 【OpenCV学习】第16课:图像边缘提取 - Sobel算子详细剖析(图像梯度)

    理论 卷积的应用 - 图像边缘提取: 边缘是什么:是像素值发生跃迁的地方, 是图像的显著特征之一, 再图像特征提取丶对象检测丶模式识别等方面都有重要作用 如何捕捉/提取边缘:对图像求它的一阶导数,delta = f(x) - f(x-1), delta值越大, 说明像素在x方向变化越大,边缘信

    2024年02月04日
    浏览(47)
  • 【C++】【图像处理】均值滤波 and 高斯滤波 and 中值滤波 and Sobel算子边缘提取(低通滤波)算法解析(以.raw格式的图像为基础进行图像处理、gray levels:256)

     中值滤波: 中值滤波中的MidValueFind函数的实现就是冒泡排序,最后去中间值返回:  Soble算子边缘提取:     总结: 1、均值、高斯滤波和Sobel算子边缘提取的核心,创建卷积核并确定各个点上的权重,然后将边缘灰度级归零(是否边缘归零按业务需求决定),提取非边缘像

    2024年02月05日
    浏览(55)
  • 【C++】【图像处理】均值滤波 and 高斯滤波 and 中值滤波 (低通滤波器)and Sobel算子边缘提取算法解析(以.raw格式的图像为基础进行图像处理、gray levels:256)

     中值滤波: 中值滤波中的MidValueFind函数的实现就是冒泡排序,最后去中间值返回:  Soble算子边缘提取:     总结: 1、均值、高斯滤波和Sobel算子边缘提取的核心,创建卷积核并确定各个点上的权重,然后将边缘灰度级归零(是否边缘归零按业务需求决定),提取非边缘像

    2024年02月05日
    浏览(54)
  • Halcon 3D相关算子(二)

    (1) moments_object_model_3d( : : ObjectModel3D, MomentsToCalculate : Moments) 功能:计算3D对象模型的平均值或中心二阶矩。要计算3D物体模型点的平均值,在MomentsToCalculate中选择\\\'mean_points\\\';如果要计算二阶中心矩,则选择\\\'central_moment_2_points\\\',结果是x、y、z、x-y、x-z和y-z轴的方差;要计算3D物

    2024年01月20日
    浏览(53)
  • Halcon常用算子汇总

    持续更新ing

    2024年02月16日
    浏览(35)
  • Halcon常用算子(库函数)整理

    新手在刚接触Halocon时往往不明所以,而官方文档上的解释又让初学者云里雾里,本文整理了halocon常用算子(库函数),供开发者快速查阅。 tuple_length(Area0,len) 数组里元素的个数 tuple_find_first(Area0,sMax,i) 找到第一个是sMax的,返回索引 创建数组 tuple_gen_const( : : Length, Const : Newtupl

    2024年01月21日
    浏览(54)
  • Halcon中的一些3D算子

    1.read_object_model_3d  从文件读取一个3d模型 如下图,读的一个ply文件出来是个3d点云模型  2.visualize_object_model_3d  交互式展示3d模型 即上个算子读出来后,通过这个算子可以把3d模型显示出来旋转、平移,缩放来观察操作 算子签名 visualize_object_model_3d( : : WindowHandle, ObjectModel3D,

    2024年02月11日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包