求大神帮我把MATLAB的程序 表明每一步是什么意思 急 !!!!
程序代码:用Roberts算子实现图像锐化的程序,利用Roberts算子法对灰度数字图像lena.jpg进行微分锐化的程序代码如下:
clear all;
I=imread('C:\MATLAB7\toolbox\wavelet\wavedemo\lena.jpg');
I=im2double(I);
figure;
imshow(I);title('org img');
=size(I);
for i=2:height-1
for j=2:width-1
R(i,j)=abs(I(i+1,j+1)-I(i,j))+abs(I(i+1,j)-I(i,j+1));
end
end
figure;
imshow(R,[]);
for i=1:height-1
for j=1:width-1
if (R(i,j)<0.25)
R(i,j)=1;
else R(i,j)=0;
end
end
end
figure;
imshow(R,[]);
用Sobel算子实现图像锐化的程序,图像lena.jpg进行锐化的程序代码如下:
clear all;
I=imread('C:\MATLAB7\toolbox\wavelet\wavedemo\lena.jpg');
I=im2double(I);
figure;
imshow(I);title('org img');
=size(I);
%Dx=[-1 -2 -1
%0 00
%1 21];
%Dy=[-1 0 1
%-2 0 2
%-1 0 1];
for i=2:height-1
for j=2:width-1
Dx=+2*+;
Dy=+2*+;
S(i,j)=sqrt(Dx^2+Dy^2);
end
end
figure;
imshow(S);
for i=1:255
for j=1:255
if (S(i,j)<1)
S(i,j)=1;
else S(i,j)=0;
end
end
end
figure;
imshow(S,[]);
用Prewitt算子实现图像锐化的程序,利用Prewitt算子对灰度数字图像lena.jpg进行图像锐化,程序代码如下
clear all;
I=imread('C:\MATLAB7\toolbox\wavelet\wavedemo\lena.jpg');
I=im2double(I);
%figure;
%imshow(I);title('org img');
=size(I);
for i=2:height-1
for j=2:width-1
Dx=++;
Dy=++;
P(i,j)=sqrt(Dx^2+Dy^2);
end
end
%figure;
%imshow(P,[]);
for i=1:height-1
for j=1:width-1
if (P(i,j)<0.5)
P(i,j)=1;
else P(i,j)=0;
end
end
end
figure;
imshow(P,[]);
用Laplacian算子实现图像锐化的程序,利用Laplacian算子对灰度数字图像lena.jpg进行图像锐化,程序代码如下
clear all;
I=imread('C:\MATLAB7\toolbox\wavelet\wavedemo\lena.jpg');
=size(I);
M=double(I);
J=M;
for i=2:H-1
for j=2:W-1
J(i,j)=4*M(i,j)-;
end;
end;
subplot(1,2,1);imshow(I);title('原图');
subplot(1,2,2);imshow(uint8(J));title('锐化处理后的图');
用Wallis算子实现图像锐化的程序,利用Wallis算子对灰度数字图像lena.jpg进行图像锐化程序代码如下
%Wallis微分算子
clear all;
I=imread('C:\MATLAB7\toolbox\wavelet\wavedemo\lena.jpg');
%figure
%imshow(I);
I=im2double(I);
=size(I);
for i=2:height-1
for j=2:width-1
II(i,j)=log10(I(i,j)+1)-0.25*(log10(I(i-1,j)+1)+log10(I(i+1,j)+1)+log10(I(i,j-1)+1)+log10(I(i,j+1)+1));
end
end
min1=min(II);
min2=min(min1);
for i=2:height-1
for j=2:width-1
II(i,j)=46*II(i,j)-min2+0.4;
end
end
%figure
%imshow(II,[]);
for i=1:height-1
for j=1:width-1
if (II(i,j)<-0.035)
II(i,j)=0;
else II(i,j)=1;
end
end
end
figure;
imshow(II,[]); 求大神帮忙啊 明天要交的毕业论文
页:
[1]