梯度和Sobel导数
2017-05-12 18:51
288 查看
假设我们需要检测图像中的边缘,如下图:
你可以看到在边缘,像素值显著的改变了。表示这一改变的一个方法是使用导数。梯度值的大变预示着图像中内容的显著变化。
用更加形象的图像来解释,假设我们有一张一维图形。下图中灰度值的”跃升”表示边缘的存在:
使用一阶微分求导我们可以更加清晰的看到边缘”跃升”的存在(这里显示为高峰值)
从上例中我们可以推论检测边缘可以通过定位梯度值大于邻域的像素的方法找到(或者推广到大于一个阀值).
但是,具体应用到图像中你会发现这个导数是求不了的,因为没一个准确的函数让你去求导,所以就想到了一种替代的方式来求导数。就是用卷积操作进行导数的计算(或者近似计算)。
考虑一个3*3的图像图像区域,求Z5点的梯度值
对Z5点的X方向近似求导:
对Z5点的Y方向近似求导:
结合以上两个结果求出Z5点近似梯度:
Sobel算子:
默认卷积核为3*3,当对X方向求导时,卷积核为
由于求的是3×3中心点的导数,所以给第二行加了一个权重,它的权重为2,第一行和第三行的权重为1。
同理,当对Y方向求导时,卷积核为
你可以看到在边缘,像素值显著的改变了。表示这一改变的一个方法是使用导数。梯度值的大变预示着图像中内容的显著变化。
用更加形象的图像来解释,假设我们有一张一维图形。下图中灰度值的”跃升”表示边缘的存在:
使用一阶微分求导我们可以更加清晰的看到边缘”跃升”的存在(这里显示为高峰值)
从上例中我们可以推论检测边缘可以通过定位梯度值大于邻域的像素的方法找到(或者推广到大于一个阀值).
但是,具体应用到图像中你会发现这个导数是求不了的,因为没一个准确的函数让你去求导,所以就想到了一种替代的方式来求导数。就是用卷积操作进行导数的计算(或者近似计算)。
考虑一个3*3的图像图像区域,求Z5点的梯度值
对Z5点的X方向近似求导:
对Z5点的Y方向近似求导:
结合以上两个结果求出Z5点近似梯度:
Sobel算子:
默认卷积核为3*3,当对X方向求导时,卷积核为
由于求的是3×3中心点的导数,所以给第二行加了一个权重,它的权重为2,第一行和第三行的权重为1。
同理,当对Y方向求导时,卷积核为
相关文章推荐
- 梯度和Sobel导数
- 梯度和Sobel导数
- 梯度和Sobel导数
- 梯度和Sobel导数
- 梯度和Sobel导数
- 第六章 - 图像变换 -梯度和Sobel导数(cvSobel)
- 图像变换 -梯度和Sobel导数(cvSobel)
- 第六章 - 图像变换 -梯度和Sobel导数(cvSobel)
- Image inpainting 图像修复,基于梯度(一阶导数)和拉普拉斯算子(二阶导数)
- 梯度与导数的关系
- 方向导数、梯度、等高线、数量场与向量场
- 深度学习/机器学习入门基础数学知识整理(二):梯度与导数,矩阵求导,泰勒展开等
- 小谈导数、梯度和极值
- opencv c++函数 imgproc模块 8 Sobel 导数
- 方向导数与梯度向量与全微分
- 小谈导数、梯度和极值
- 梯度和方向导数
- 方向导数与梯度
- 导数与梯度、矩阵运算性质、科学计算库numpy
- 【ML学习笔记】1:机器学习中的数学基础1(方向导数,梯度,下凸函数)