Canny边缘检测算法概述

电脑杂谈  发布时间:2020-03-22 04:07:25  来源:网络整理

ps图片边缘不规则处理_canny边缘检测算法_canny边缘检测处理算法比较

Canny边缘检测算法概述Canny边缘检测算法的原理JohnCanny于1986年提出了Canny算子,它属于先平滑然后求导数的方法. 处理过程大致分为以下四个部分. 使原始图像变灰Canny算法通常处理的图像是灰度图像,因此,如果要获得彩像,则必须首先对其进行灰度处理. 使彩像变灰是基于图像每个通道的采样值执行加权平均. 以RGB格式的彩片为例canny边缘检测处理算法比较,常用的灰化方法有: 方法1: 灰度=(R + G + B)/ 3;方法2: 灰色= 0.299R + 0.587G + 0.114B; (此参数考虑了人眼的生理特征. )对于其他格式的彩像,可以将它们转换为RGB,然后根据相应的转换关系将其灰显. 编程时,请注意,图像格式中RGB的顺序通常为BGR. 图像的高斯滤波图像的高斯滤波可以通过使用两个要加权两次的一维高斯核或通过对二维高斯核进行一次卷积来实现. 1)高斯核的实现上述公式是离散的一维高斯函数. 一旦确定了参数,就可以获得一维核矢量. 上式是离散的二维高斯函数. 在确定参数之后,可以获得二维核向量. 获得高斯核后,应将整个核标准化. 2)图像的高斯滤波图像的高斯滤波实际上是根据某些参数规则基于要滤波的像素的灰度值及其相邻点的加权平均值.

canny边缘检测处理算法比较_ps图片边缘不规则处理_canny边缘检测算法

这可以有效地滤除叠加在理想图像上的高频噪声. 通常,滤波和边缘检测是相互矛盾的概念. 抑制噪声会使图像的边缘模糊,这将增加边缘定位的不确定性. 如果您想提高边缘检测的灵敏度,您还将提高对噪声的灵敏度. 实际的工程经验表明,由高斯函数确定的内核可以在抗噪声干扰和精确的边缘检测定位之间取得很好的折衷. 使用一阶偏微分有限差分来计算梯度的大小和方向. 关于图像的灰度值canny边缘检测处理算法比较,可以使用一阶有限差分来近似梯度. 以这种方式,图像可以作为x罗伯茨算子的x方向偏导数获得. 计算模板. 每个点的梯度大小可以用数学公式表示: 2)上述Sobel算子公式的三个矩阵是该算子的x方向卷积模板,y方向卷积模板以及该算子的邻居. 要处理的点. 可以根据数学公式使用域点标签矩阵来表示每个点的梯度大小: 3)Prewitt算子和Sobel算子的原理相同,这里仅给出卷积模板. 4)Canny算法使用的方法此处实现的Canny算法使用的卷积运算符相对简单,并表示如下: 一阶偏导数矩阵,梯度幅度和梯度方向的数学表达式为: 之后矩阵,则可以执行下一个检测过程. 梯度幅度的非最大抑制图像的梯度矩阵中的元素值越大,图像中点的梯度值就越大,但这并不意味着该点是边缘(这仅是图像增强过程).

canny边缘检测算法_ps图片边缘不规则处理_canny边缘检测处理算法比较

在Canny算法中,非最大抑制是边缘检测的重要步骤. 在一般意义上,它是指找到像素的局部最大值并将与非最大值点相对应的灰度值设置为0. 可以删除大多数非边缘点. 非最大抑制的原理根据图1,要执行非最大抑制,我们必须首先确定像素C的灰度值是否在其8值邻域内最大. 图1中蓝线的方向是点C的倾斜方向. 这样可以确定必须在该线上分布局部最大值,即两点的值C梯度方向的交点dTmp1和dTmp2的关系. 也可能是局部最大值. 因此,判断点C的灰度级和这两个点的灰度级可以确定点C是否是其附近的局部最大灰度点. 如果判断点C的灰度值小于这两个点中的任何一个,则意味着点C不是局部最大值,则可以排除C边缘. 这就是非最大抑制的工作方式. 非最大抑制是一个问题: “当前梯度值是梯度方向上的局部最大值”. 因此,必须将当前位置的梯度值与梯度方向两侧的梯度值进行比较;渐变方向垂直于边缘. 方向. 但实际上,我们只能在C点附近获得8点的值,而dTmp1和dTmp2不在其中. 要获得这两个值,我们需要在两个点的两端线性内插已知的灰度级. 即,根据图1中的g1和g2对dTmp1进行插值,并且根据g3和g4对dTmp2进行插值. 这使用了梯度方向. 这就是为什么需要Canny算法来求解梯度方向矩阵Thita的原因.

ps图片边缘不规则处理_canny边缘检测处理算法比较_canny边缘检测算法

完成非最大抑制后,将获得二进制图像. 非边缘点的灰度值全部为0,可以将可能是边缘的局部灰度最大点设置为128.以这种方式获得的图像可能包含许多由噪声和其他原因引起的假边缘. 因此,有必要进一步使用双阈值算法来检测和连接边缘. Canny算法中减少假边缘数量的方法是双阈值方法. 选择两个阈值,并根据高阈值获得边缘图像. 这样的图像几乎没有虚假边缘,但是由于阈值很高,因此生成的图像的边缘可能不会闭合. 为了解决这样的问题,使用另一个低阈值. 将边缘链接到高阈值图像中的轮廓中. 当到达轮廓的端点时,算法将在断点的8个邻点中找到满足低阈值的点,然后基于该点收集新边缘,直到整个图像边缘闭合为止. 二. Canny边缘检测算法的实验结果sobel边缘检测后,上限为120,下限为100.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-147907-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...