资源简介

matlab求解图像灰度梯度程序,用于求解图像的灰度梯度值,多幅图像间比较清晰度等。

资源截图

代码片段和文件信息


%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% this function is used to calculate
%%%% the average gradient of an image.
%%%% editor: denghaibo Email:denghblzu07@gmail.com
%%%% date : 2009-4-15
%%%% 平均梯度可敏感地反映图像对微小细节反差表达的能力,可用来评价图像的模糊程度
%%%% 在图像中,某一方向的灰度级变化率大,它的梯度也就大。因此,可以用平均梯度值
%%%% 来衡量图像的清晰度,还同时反映出图像中微小细节反差和纹理变换特征。
clear
for i1=1:60
    
CI=num2str(i1);   %CI=num2str(350+i1);  
imagename=strcat(CI‘次重建图‘‘.jpg‘);

img=imread(imagename);

img=double(img);
[MN]=size(img);
gradval=zeros(MN); %%% save the gradient value of single pixel
diffX=zeros(MN);    %%% save the differential value of X orient
diffY=zeros(MN);    %%% save the differential value of Y orient

tempX=zeros(MN);
tempY=zeros(MN);
tempX(1:M1:(N-1))=img(1:M2:N);
tempY(1:(M-1)1:N)=img(2:M1:N);

diffX=img-tempX;
diffY=img-tempY;
diffX(1:MN)=0;       %%% the boundery set to 0
diffY(M1:N)=0;
diffX=diffX.*diffX;
diffY=diffY.*diffY;
AVEGRAD=sum(sum(diffX+diffY));
AVEGRAD=sqrt(AVEGRAD/2);
AVEGRAD=AVEGRAD/((M-1)*(N-1)); 
y(i1)=AVEGRAD; 
end
x=1:60;
figureplot(xy)grid on
xlabel(‘Reconstruction times‘)ylabel(‘Gray gradiend‘);
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1250  2014-10-25 13:19  huidutidu.m

评论

共有 条评论

相关资源