【Halcon】2D测量之三

本文详细介绍了使用Halcon进行2D测量时如何提取轮廓,包括像素精度和亚像素精度的方法,如边缘滤波器、亚像素边缘提取算子。接着讨论了如何选择和简化轮廓,以及通过轮廓分割和拟合获取形状参数。最后提到了如何提取未知轮廓的特征,如面积、方向和最小封闭形状等。
摘要由CSDN通过智能技术生成

创建轮廓

    一般获取轮廓的步骤是提取边缘,边缘是一张图片中亮暗区域的过渡位置,它可以由图片梯度计算得出。图片梯度也可以表示为边缘幅度和边缘方向。通过选择那些有高的边缘幅值的像素点或者有特定边缘方向的像素点,区域内的轮廓可以提取出来。可以通过多种的方式以多种精度提取轮廓。

  • 像素精度提取边缘的方法 :使用 边缘滤波器                                                                                               
      使用边缘滤波器后,将产生一个或两个边缘图像。通过使用阈值算子从得到的边缘图像中选择具有给定的最小边缘幅度的像素来提取边缘区域。为了获得具有一个像素厚度的边缘,必须通过使用算子(例如:skeleton)来减薄所获得的区域。
   常见的像素精确边缘滤波器是运算速度较快的Sobel_amp和速度较慢但已经包括滞后阈值和细化的edges_image,其结果比Sobel_amp更精确。edges_image及其对应的彩色图像(edges_color)也可以在参数Filter设置为“Sobel_fast”的情况下应用。这样,算子的速度也很快,但仅推荐用于噪声或纹理小且边缘锐利的图像。

    除了边缘之外,还可以提取由薄结构构建的线。这些线有着不均匀的一定的宽度,一般采用滤波算子bandpass_image,结合了阈值和细化。

经过滤波、阈值和细化后得到的结果一般都会转换为轮廓。将薄边缘区域转换为轮廓的算子有gen_contours_skeleton_xld。

  • 像素精度提取边缘的方法

    采用亚像素边缘提取算子可以立刻得到轮廓。例如edges_sub_pix、edges_color_sub_pix、zero_crossing_sub_pix。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值