当前位置:首页 > 智能硬件 > 人工智能AI
[导读]   Canny算子Canny边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法。更为重要的是 Canny 创立了边缘检测计算理论(ComputaTIonal

  Canny算子Canny边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法。更为重要的是 Canny 创立了边缘检测计算理论(ComputaTIonal theory of edge detecTIon)解释这项技术如何工作。

  Canny 算法包含许多可以调整的参数,它们将影响到算法的计算的时间与实效。

  高斯滤波器的大小:第一步所用的平滑滤波器将会直接影响 Canny 算法的结果。较小的滤波器产生的模糊效果也较少,这样就可以检测较小、变化明显的细线。较大的滤波器产生的模糊效果也较多,将较大的一块图像区域涂成一个特定点的颜色值。这样带来的结果就是对于检测较大、平滑的边缘更加有用,例如彩虹的边缘。

  阈值:使用两个阈值比使用一个阈值更加灵活,但是它还是有阈值存在的共性问题。设置的阈值过高,可能会漏掉重要信息;阈值过低,将会把枝节信息看得很重要。很难给出一个适用于所有图像的通用阈值。目前还没有一个经过验证的实现方法。

  Canny 算法适用于不同的场合。它的参数允许根据不同实现的特定要求进行调整以识别不同的边缘特性。对于PC上的实时图像处理来说可能慢得无法使用,尤其是在使用大的高斯滤波器的情况下。但是,我们讨论计算能力的时候,也要考虑到随着处理器速度不断提升,有望在未来几年使得这不再成为一个问题。

  canny算子的语法原理分析

  1. Canny边缘检测基本原理

  (1)图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。

  (2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。

  (3)类似与Marr(LoG)边缘检测方法,也属于先平滑后求导数的方法。

  2. Canny边缘检测算法:

  step1:用高斯滤波器平滑图象;

  step2:用一阶偏导的有限差分来计算梯度的幅值和方向;

  step3:对梯度幅值进行非极大值抑制;

  step4:用双阈值算法检测和连接边缘。

  step1:高斯平滑函数

  

  (可以理解下维基百科上关于卷积函数的定义,如下图移动的红色窗口代表我们的高斯和函数,蓝色为图像灰度函数)

  

  

  

  通过高斯函数产生k*k的模板如3*3

  

  用这个模板对每个像素进行加权平均

  Step2:一阶微分卷积模板

  

  step3:对梯度幅值进行非极大值抑制

  仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。(non-maxima suppression,NMS)

  解决方法:利用梯度的方向。

  

  图1非极大值抑制

  四个扇区的标号为0到3,对应3*3邻域的四种可能组合。在每一点上,邻域的中心象素M与沿着梯度线的两个象素相比。如果M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令M=0。

  即:

  

  Step4:用双阈值算法检测和连接边缘:

  对非极大值抑制图像作用两个阈值th1和th2,两者关系th1=0.4th2 。我们把梯度值小于th1的像素的灰度值设为0,得到图像1。然后把梯度值小于th2的像素的灰度值设为0,得到图像2。由于图像2的阈值较高,去除大部分噪音,但同时也损失了有用的边缘信息。而图像1的阈值较低,保留了较多的信息,我们可以以图像2为基础,以图像1为补充来连结图像的边缘。

  链接边缘的具体步骤如下:

  对图像2进行扫描,当遇到一个非零灰度的像素p(x,y)时,跟踪以p(x,y)为开始点的轮廓线,直到轮廓线的终点q(x,y)。

  考察图像1中与图像2中q(x,y)点位置对应的点s(x,y)的8邻近区域。如果在s(x,y)点的8邻近区域中有非零像素s(x,y)存在,则将其包括到图像2中,作为r(x,y)点。从r(x,y)开始,重复第一步,直到我们在图像1和图像2中都无法继续为止。

  当完成对包含p(x,y)的轮廓线的连结之后,将这条轮廓线标记为已经访问。回到第一步,寻找下一条轮廓线。重复第一步、第二步、第三步,直到图像2中找不到新轮廓线为止。

  3. canny算法程序实现

  Canny算法程序中将上述的4个步骤再加以细分,分成以下7步:

  l 生成高斯滤波系数;

  l 用生成的高斯滤波系数对原图像进行平滑;

  l 求滤波后图像的梯度;

  l 进行非最大抑制;

  l 统计图像的直方图,对阈值进行判定;

  l 利用函数寻找边界起点;

  l 根据第6步执行的结果,从一个像素点开始搜索,搜索以该像素点为边界起点的一条边界的一条边界的所有边界点;

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对有源滤波器的认识,本文将对有源滤波器的选型方法、环路滤波器对有源、无源滤波器的选择予以介绍。

关键字: 滤波器 指数 有源滤波器

为增进大家对滤波器的认识,本文将对切比雪夫滤波器阶数以及LC滤波器设计优化流程予以介绍。

关键字: 滤波器 指数 切比雪夫滤波器

为增进大家对抗混叠滤波器的认识,本文将对抗混叠滤波器的工作原理、抗混叠滤波器的性能指标等内容予以介绍。

关键字: 滤波器 指数 抗混叠滤波器

近日,基于TC-SAW技术,左蓝微电子发布高性能、小尺寸Band26、Band20双工器。本次发布的TC-SAW高性能Band26/20双工器封装尺寸为1.6mm × 1.2mm,相比于1814封装尺寸,面积缩小约24%...

关键字: 滤波器 双工器 无线通信系统

在现代电子技术的飞速发展中,电源滤波器的应用变得日益广泛。作为电子设备中的关键组件,电源滤波器在抑制电磁干扰、提高设备性能、增强设备可靠性以及保护设备安全等方面发挥着至关重要的作用。那么,电源为什么要滤波呢?本文将从科技...

关键字: 电源 滤波器

MC33035无刷直流电机控制器采用双极性模拟工艺制造,可在任何恶劣的工业环境条件下保证高品质和高稳定性。该控制器内含可用于正确整流时序的转子位置译码器。

关键字: 直流马达 控制电路 滤波器

在下述的内容中,小编将会对滤波器的相关消息予以报道,如果滤波器是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: 滤波器 低通滤波器 高通滤波器

e络盟现货供应超过230000种产品,客户可以一站式购买电容器、EMC/RFI抑制产品、滤波器、电感器、电位器、微调器和电阻

关键字: 滤波器 电感器 电位器

TDK株式会社(东京证券交易所代码:6762)新近推出B84742A*R725系列滤波器,扩展了其单相EMC滤波器产品组合。新系列滤波器适用于电压高达250V、额定电流从6A到30A的交流和直流应用,是工业和建筑领域日益...

关键字: 滤波器 DIN 导轨 电源

在下述的内容中,小编将会对滤波器的相关消息予以报道,如果滤波器是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: 滤波器 无源滤波器 有源滤波器
关闭
关闭