边缘梯度

    xiaoxiao2022-07-12  157

    边缘定义及类型

           定义:边缘是不同区域的分界线,是周围(局部)像素有显著变化的像素的集合,有幅值与方向两个属性。边缘上的灰度变化平缓,边缘两侧的灰度变化较快,图像的边缘一般指局部不连续的的图像特征(某个小局部不连续了,不连续就是不一致了,打个比方,比如说是蓝的,突然变白了,这时候就产生边缘了)。一般是局部亮度变化最显著的部分,所以说边缘就是变化最显著的部分,灰度值的变化,颜色分量的突变以及纹理结构的突变都可构成边缘信息。         tips:轮廓和边缘的关系,一般认为轮廓是对物体的完整边界的描述,边缘点一个个连接起来构成轮廓。边缘可以是一段边缘,而轮廓一般是完整的。人眼视觉特性,看物体时一般是先获取物体的轮廓信息,再获取物体中的细节信息,比如看到几个人站在那,我们一眼看过去马上能知道的是每个人的高矮胖瘦,然后才获取脸和衣着等信息。        类型:简单分为4种类型,阶跃型、屋脊型、斜坡型、脉冲型,其中阶跃型和斜坡型是类似的,只是变化的快慢不同,同样,屋脊型和脉冲型也是如此。见图2,(a)和(b)可认为是阶跃或斜坡型,(c)脉冲型,(d)屋脊型,阶跃与屋脊的不同在于阶跃上升或下降到某个值后持续下去,而屋脊则是先上升后下降。

                                                                                              图 2 边缘类型

     如何寻找边缘

          要找边缘就要找它的变化量,在某一个方向上的变化量,提到变化量,只能用减法,即相邻两个像素的差值。 用差分定义一元函数f(x)的一阶微分:

         如果左右列数据量相同的话,在图像内的话,这个差分值是很低的数据,如果是在边界的话,一差分就有很高的值了。 如下图所示,不难发现原图中左边暗右边量,中间存在明显边界(白色为255,黑色为0)。 

    为了与f(x,y)表示一致,图像f(i,j)的i代表行,j代表列,如果用右列减去左列,即每个像素的值为:

                              

            可以看出第三列比其他列的灰度值高很多,在边界附近,灰度有明显的跳跃,在观察时就能发现一条很明显的亮边;在灰度相近的地方,这样做的结果使得灰度值趋于0,区域都很暗。

    如果把上面那幅图进行转置,得到以下数据图像,明显这个边缘是水平方向的,如果再用上面的方法右列减左列就得不到边界了,必须是下一行减上一行,即每一个像素值为:

                                                             

    这样就得到了检测水平边缘的作用。 

           这就是一种边缘检测器,在数学上的含义是一种基于梯度的边缘滤波器,又称作边缘算子,梯度是有方向的,和边缘的方向总是正交(垂直)的。

    以上讲的是单向微分,接下来介绍双向微分,对灰度图像f在纵方向和横方向两个方向进行微分,同时强调垂直边与水平边的边缘,数学表达式为:

    边缘检测算子类别

    常见边缘检测算子:Roberts 、Sobel 、Prewitt、Laplacian、Log/Marr、Canny、Kirsch、Nevitia

    各边缘检测算子对比 

    一阶微分算子:Roberts 、Sobel 、Prewitt二阶微分算子:Laplacian、Log/Marr非微分边缘检测算子:Canny 

     参考:https://blog.csdn.net/tigerda/article/details/61192943 https://blog.csdn.net/qq_41035731/article/details/83475301

    https://blog.csdn.net/nienelong3319/article/details/81745411

    最新回复(0)