乐鱼体育 边缘检测(Canny运算符)的实现原理

日期:2021-02-09 18:28:11 浏览量: 118

当前,边缘检测算法在实际应用中变得越来越广泛,技术趋势也在迅速全面发展。许多朋友或多或少地了解实现各种功能(尤其是一些复杂的需求)以实现更好的过滤和更好的提取结果的必要性,而且暂时还没有办法开始。

以下编辑器将带您了解边缘检测算子的实现原理。由于边缘检测算子有很多常用的方法(Sobel算子,Kirsch算子,Laplacian算子,Canny算子等),这里我们以Canny算子为例,向您展示简单的实现原理。

边缘检测的作用是什么?

简单来说银河国际 ,边缘检测主要应用于某些数据信息的处理,提取期望的目标,消除一些无关的干扰和无用的信息,以及通过较少的数据信息获得更多感兴趣的信息。

Canny运算符简介

Canny边缘检测算法是John F. Canny在1986年开发的多级边缘检测算法。许多人认为该算法是边缘检测的最佳算法。与其他边缘检测算法相比006直播 ,它可以识别图像的边缘。准确性更高。

最佳边缘检测功能:

低错误率:识别尽可能多的实际边缘,同时尽可能减少噪声引起的误报。

高度定位:识别出的边缘应尽可能靠近图像中的实际边缘

最小响应:图像中的边缘只能被识别一次

Canny操作员边缘检测过程

canny边缘检测基本原理

01转换灰度

由于Canny运算符只能处理单通道灰度图像,因此有必要在边缘检测之前将原始图像转换为灰度图像。以OpenCV为例,使用其封装功能实现颜色到灰度的转换。

02滤波和降噪处理

完美的图像信息无噪声canny边缘检测基本原理,并且图像质量非常好,但是实际上,由于各种原因(例如采集设备和环境干扰),收集的图像信息包含很多噪声信息。这些噪声是最常见的,这是盐和胡椒噪声以及高斯噪声。

Canny算子是一种边缘检测方法,可在抗噪干扰和精确定位之间寻求最佳折衷。高斯滤波通常用于去除噪声。以下是常见的3X3卷积内核模板:

高斯滤波可以滤除图像中的噪声部分银河体育官网 ,避免在以后执行边缘检测时将错误的噪声信息误识别为边缘。

不应将滤波器内核的尺寸选择得太大im体育平台 ,否则边缘信息可能会变得平滑,从而使边缘检测操作员无法正确识别边缘信息。

03差分计算幅度和方向

使用一阶有限差分计算梯度可以在x和y方向上获得图像偏导数的两个矩阵。 Canny运算符将Sobel运算符用作梯度运算符。当然,您也可以构造其他运算符,例如:一阶边缘检测运算符(例如Roberts运算符和Prewitt运算符)用作梯度运算符。

以下以Sobel算子为例来计算梯度的大小和方向:

[Y方向]

[X方向]

将H(i电竞下注 ,j)预设为计算图像

canny边缘检测基本原理

C点(i,j)是要计算的梯度

[Y方向梯度]

[X方向梯度]

[这里C点的梯度幅度]

[这里C点的倾斜方向]

04非最大抑制

抑制非最大数据也可以理解为排除非最大数据为边际的可能性。 8附近的图像梯度振幅矩阵中的元素值越大,图像中该点的梯度值越大canny边缘检测基本原理,并结合检测点的梯度方向,可以找到近似的边缘信息。

非最大抑制的两个特征: