Halcon —— 边缘检测算子详解

一、算子介绍

1.1 种类
halcon内常用的边缘检测算子包括如下几种:
1.edges_image: 提取2D 图像边缘
2.edges_sub_pix:提取2D图像亚像素边缘
3.edges_object_model_3d :提取3D图像边缘
4.edges_color和edges_color_sub_pix:提取彩色图像边缘
1.2 区别
edges_image可选择多种边缘检测算法来提取物体边缘,其与亚像素边缘算子的区别在于edges_image提取是以像素为单位的边缘特征,edges_sub_pix是以比像素还小的单位来提取的边缘,一般采用矩方法,插值法和拟合法。

二、详解

2.1 edges_image(Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : )

该算子内主要参数包括:
ImaDir(图像边缘方向,对sobel_fast算法无用,因为其不计算方向信息)
Filter(边缘算子,包括’canny’, ‘deriche1’, ‘deriche1_int4’, ‘deriche2’, ‘deriche2_int4’, ‘lanser1’, ‘lanser2’, ‘mshen’, ‘shen’, ‘sobel_fast’)
Alpha(过滤器参数,小的值导致强平滑,但是更少的细节(canny算子相反))
NMS(非最大值抑制(设置为none,表示不需要使用该值))
Low(滞后阈值操作的下阈值(如果不需要阈值设置,则为负值))
High(滞后阈值操作的上阈值(如果不需要阈值设置,则为负值))
2.2 边缘检测算法
对于算法来讲,目前canny算子是最稳定的边缘检测方法。
canny算法由边缘强度、边缘细化(NMS)、滞后阈值三个阶段组成。
首先,边缘强度的计算是计算图像梯度:梯度幅值矩阵、梯度方向矩阵:
1)图像灰度化
2)高斯滤波
3)sobel滤波器求出x,y方向上梯度图像,记为fx、fy
4)利用fx、fy求出梯度幅值和梯度的方向
5)此时的梯度方向为[-90,+90]之间的任意值,将它们规则化为四类种0、45、90、135度。
然后,计算非最大值抑制(NMS),我们根据已经规则化的方向矩阵中存储的方向先分类,之后比较相同方向上的三颗像素,确保中间像素的值最大,否则将它置零,最后得出了清洗过的梯度幅值矩阵。
最后,继续处理梯度幅值矩阵,根据设定高阈值high、低阈值low将图像分成三部分:
1.梯度幅值大于high的像素,将值置为255;
2.梯度幅值小于low的像素,将值置为0;
3.梯度幅值在中间的像素,用它的8邻域判断,邻域内若有值大于high,则将中间的像素置为255;
下面对涉及
下面结合程序对每种滤波算法进行演示讲解:

read_image (I, 'C:/Users/Administrator/Desktop/a.png')
dev_close_window ()
dev_open_window(0, 0, 512, 512, 'black', WindowHandle)
get_image_size (I, Width, Height)
dev_set_window_extents (0, 0, Width, Height)
rgb1_to_gray(I, GrayImage)
*dev_set_lut ('change2')
*设置滞后阈值为默认值
*滤波参数值Alpha
*设置滞后阈值必须大于0,小于255,值越小细节越多,但同时会带来很多不需要的边缘信息。
*值越大则会丢失边缘,很多边缘点值都会被设置为0。
edges_image(GrayImage, ImaAmp, ImaDir, 'canny', 1, 'nms', 20, 40)
dev_display(ImaAmp)

在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Halcon边缘检测算子是用于提取图像中物体边缘的工具。根据引用的信息,Halcon中常用的边缘检测算子包括以下几种: 1. edges_image: 用于提取2D图像的边缘。 2. edges_sub_pix: 用于提取2D图像的亚像素边缘。 3. edges_object_model_3d: 用于提取3D图像的边缘。 4. edges_color和edges_color_sub_pix: 用于提取彩色图像的边缘。 这些算子可以根据需要选择不同的边缘检测算法来提取物体边缘。其中,edges_image以像素为单位提取边缘特征,而edges_sub_pix以比像素更小的单位来提取边缘特征,通常采用矩法、插值法和拟合法等方法。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [halcon边缘缺陷检测.zip](https://download.csdn.net/download/u014652390/13703647)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Halcon —— 边缘检测算子详解](https://blog.csdn.net/baidu_35536188/article/details/112351198)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值