java 图像梯度检测_数字图像梯度概念及计算(the gradient of the image)

函数 z = f(x,y)在平面区域D内具有一阶连续偏导数,则对于每一个属于D点P(x,y),都可定出一个向量

a5d8d729448113889a10b6877c06c4c2.png

这个向量称为函数 z = f(x,y)在点P出的梯度,记为如下:

04b7cc20c0ea3662f0dbb85fa58f965c.png

图像梯度的定义

图像函数f(x,y)在点(x,y)的梯度是一个具有大小和方向的矢量,设为Gx 和 Gy 分别表示x方向和y方向的梯度,这个梯度的矢量可以表示为:

0189574885d852e70c4a2117e8843cfa.png

由此可见,梯度指出了在(x,y)处f的最大变化率的方向。

这个矢量的幅度为

5fe9662954b169154d2cc845f1429f05.png

图像处理中一阶微分是用梯度幅值来实现的。

方向角为:

fa737d8cd11ec46d28866938fa93f8e8.png

对于数字图像而言,图像可看成二维离散函数,图像梯度其实就是这个二维离散函数的求导,如下:

G(x,y) = dx(i,j) + dy(i,j);

dx(i,j)  = I(i+1,j) - I(i,j);

dy(i,j)  = I(i,j+1) - I(i,j);

图像梯度一般也可以用中值差分:

dx(i,j) = [I(i+1,j) - I(i-1,j)]/2;dy(i,j) = [I(i,j+1) - I(i,j-1)]/2;

图像边缘一般都是对图像进行梯度运算来实现的。

梯度的正负反映其边缘的走势,相当于方向。

由于图像在计算机中以数字图像的形式进行存储,即图像是离散的数字信号,对数字图像的梯度使用差分来代替连续信号中的微分。

数字图像中,更多的使用差分来近似导数,最简单的梯度近似表达式如下:

89998ad5177b1bbfbe06c1e45e5e3a74.png

梯度的方向是函数f(x,y)变化最快的方向,当图像中存在边缘时,一定有较大的梯度值,相反,当图像中有比较平滑的部分时,灰度值变化较小,则相应的梯度也较小,图像处理中把梯度的模简称为梯度,由图像梯度构成的图像成为梯度图像(we can get the gradient image through computing the gradient of each pixel in the image)

经典的图像梯度算法是考虑图像的每个像素的某个邻域内的灰度变化,利用边缘临近的一阶或二阶导数变化规律,对原始图像中像素某个邻域设置梯度算子,通常我们用小区域模板进行卷积来计算,有Sobel算子、Robinson算子、Laplace算子等。

//--------------------------------------------------------------------

利用X方向与Y方向分别实现一阶微分,求取振幅,实现图像梯度效果,微分算子Prewitt与Sobel。

其中Sobel的表示:

1344048399_9639.png

梯度幅值:

1344048205_6605.png在X, Y两个方向算子分别为:

1339686268_5154.png

Prewitt在X, Y方向上梯度算子分别为:

1339686299_5368.png

参考来自:http://blog.csdn.net/buaalei/article/details/45690953

http://blog.csdn.net/computer_liuyun/article/details/21328753

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值