clc
clear all
close all
fabric=imread('lizhi.jpg');
figure,imshow(fabric);
R = fabric(:,:,1);
G = fabric(:,:,2);
B = fabric(:,:,3);
sR =fftshift(fft2(R));
[M,N]=size(sR);
n=2;
d0=5;
n1=floor(M/2);
n2=floor(N/2);
for i=1:M
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);
h=1*exp(-1/2*(d^2/d0^2));
sR(i,j)=h*sR(i,j);
end
end
sR=ifftshift(sR);
sR=uint8(real(ifft2(sR)));
sG =fftshift(fft2(G));
[M,N]=size(sG);
n=2;
d0=5;
n1=floor(M/2);
n2=floor(N/2);
for i=1:M
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);
h=1*exp(-1/2*(d^2/d0^2));
sG(i,j)=h*sG(i,j);
end
end
sG=ifftshift(sG);
sG=uint8(real(ifft2(sG)));
sB =fftshift(fft2(B));
[M,N]=size(sB);
n=2;
d0=5;
n1=floor(M/2);
n2=floor(N/2);
for i=1:M
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);
h=1*exp(-1/2*(d^2/d0^2));
sB(i,j)=h*sB(i,j);
end
end
sB=ifftshift(sB);
sB=uint8(real(ifft2(sB)));
fabric(:,:,1) =sR;
fabric(:,:,2) =sG;
fabric(:,:,3) =sB;
figure;
imshow(fabric);
评论0