请输入您要查询的百科知识:

 

词条 平均梯度
释义

平均梯度即图像的清晰度(definition),反映图像对细节对比的表达能力,计算公式为

图像梯度: G(x,y) = dx i + dy 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;

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

上面说的是简单的梯度定义,其实还有更多更复杂的梯度公式。

white210:

平均梯度(meangradient):指图像的边界或影线两侧附近灰度有明显差异,即灰度变化率大,这种变化率的大小可用来表示图像清晰度。它反映了图像微小细节反差变化的速率,即图像多维方向上密度变化的速率,表征图像的相对清晰程度。平均梯度越大,图像层次越多,也就越清晰。其定义为:

式中:F(i,j)为图像的第i行,第j列的灰度值;M、N分别为图像的总行数和总列数。

单幅图像的平均梯度值计算MATLAB源程序:

说明:该程序的作用是计算输入图像img的平均梯度值AVEGRAD

平均梯度值可以衡量图像细节反差表达的能力,是图形融合结果的一个评价算子之一

function AVEGRAD=avegrad(img)

%%%% this function is used to calculate theaverage gradient of an image.

%%%%平均梯度可敏感地反映图像对微小细节反差表达的能力,可用来评价图像的模糊程度

%%%%在图像中,某一方向的灰度级变化率大,它的梯度也就大。因此,可以用平均梯度值来衡量图像的清晰度,还同时反映出图像中微小细节反差和纹理变换特征。

img=double(img);

[M,N]=size(img);

gradval=zeros(M,N); %%% save the gradient value of single pixel

diffX=zeros(M,N); %%% save the differential value of X orient

diffY=zeros(M,N); %%% save the differential value of Y orient

tempX=zeros(M,N);

tempY=zeros(M,N);

tempX(1:M,1:(N-1))=img(1:M,2:N);

tempY(1:(M-1),1:N)=img(2:M,1:N);

diffX=img-tempX;

diffY=img-tempY;

diffX(1:M,N)=0; %%% the boundery set to 0

diffY(M,1:N)=0;

diffX=diffX.*diffX;

diffY=diffY.*diffY;

AVEGRAD=sum(sum(diffX+diffY));

AVEGRAD=sqrt(AVEGRAD/2);

AVEGRAD=AVEGRAD/((M-1)*(N-1));

end

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/21 6:07:16