图像处理斑点

来源:互联网 发布:360问答软件 编辑:程序博客网 时间:2024/06/08 13:12

1.如何求图像的梯度?
求图像的梯度,一般是指灰度图像或者彩色图像上的操作。数字图像就是离散的点值谱,也可以叫二维离散函数。图像的梯度就是这个二维离散函数的求导。
导数(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;

`

原创粉丝点击