图像梯度计算 您所在的位置:网站首页 图像梯度公式是什么 图像梯度计算

图像梯度计算

2024-05-31 00:49| 来源: 网络整理| 查看: 265

理论知识:

连续函数在某一点的导数可以由 {f}'(x) = \lim_{h\rightarrow 0}\frac{f(x+h)-f(x)}{h} 得到,图像是离散函数,在某点的梯度可以用向前差商、向后差商或者中心差商获得。这里采用中心差商 {f}'(x) ={\lim_{h\rightarrow 0}}\frac{f(x+h)-f(x-h)}{2h} 可以获取图像某点的导数值。计算过程如下图所示

写成一维卷积的形式等于与如下这样一个滤波核作卷积,分母对结果无关紧要,全部舍弃。

-101

 

 

考虑上下两行同时中心一行赋予多一点的权值就可以得到Sobel 滤波核

需要注意的是这样的核只是计算在x方向(也就是横向)图像像素值大小的变化率。图像是二维的所以还应考虑y方向,做法只需要将横向的Sobel核转置。

总结一下如何计算图像梯度值的步骤:

1、需要用到计算x、y方向导数值的两个滤波核

2、分别与图像进行卷积

3、把得到的值写在一起得到图像梯度向量

梯度方向:

梯度幅度:

 

梯度计算对噪声很敏感

假设有如下信号:

信号有很多噪声,对其进行梯度幅度值计算会得到如下杂乱的值与我们期望的不一致:

原因是导数滤波对噪声很敏感。

解决方法是在计算图像梯度值时需要事先进行模糊操作。

图像二阶导数与Laplacian滤波

利用中心差商可以得到某点的一阶导数,同理可以得到二阶导数

{f}''(x)={\lim_{h\rightarrow 0}}\frac{​{f}'(x+h)-{f}'(x-h)}{2h}

{f}'(x+h) = \lim_{h\rightarrow 0}\frac{f(x+h)-f(x)}{h} ,\ {f}'(x-h) = \lim_{h\rightarrow 0}\frac{f(h)-{f}'(x-h)}{h}

可得:

{f}''(x)=\frac{f(x+h)-2f(x)+f(x-h)}{h^{2}}

所以一维laplace filter为:

1-21

用一维laplacian核进行卷积会得到什么样的结果?

0交叉点对应这边缘。

考虑y方向推广到2维得到2D Laplace filter:

 

与Sobel滤波的不同点:

Laplacian 零交叉点对应边缘

Sobel 极值对应边缘

一般来说零交叉点检测边缘会更精准一点



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有