图像梯度算法

求图像的梯度,一般是指灰度图像或者彩色图像上的操作。数字图像就是离散的点值谱,也可以叫二维离散函数。图像的梯度就是这个二维离散函数的求导。
导数(Derivative)是微积分中的重要基础概念。在百度百科里面是这样解释的:当函数y=f(x)的自变量X在一点x0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f’(x0)或df/dx(x0)。
图像的求导就是水平方向或者垂直方向的,相邻两个像素之间的差值。
图像梯度: 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);
其中,I是图像像素的值(如:RGB值),(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;

举一个简单的灰度图像梯度计算函数为例:

function g_img1=gredient(g1)
g1_img1(:,:) =(g1(1:end-1,:) - g1(2:end,:));
g1_img1(end+1,:) = g1_img1(end,:);
g2_img1(:,:) =(g1(:,1:end-1) - g1(:,2:end));
g2_img1(:,end+1) = g2_img1(:,end);
g_img1=g1_img1 + g2_img1;

这段代码将计算灰度图一水平和垂直两个方向的梯度。每一行的值变成该行与下一行的差值,每一列的值变成该列与下一列的差值。(为了保持尺寸同原图一致,避免后续计算问题,复制一行一列出来。)最后将得到的两幅图相加。这样新的图包含了水平梯度和垂直梯度的变化信息。

  • 10
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值