optical image processing
TRANSCRIPT
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 2/22
Coherent lowpass filtering
Filter yang meloloskan intensitas rendah
Semua koefisien matriks filter harus positif
Sumber : pola ruji (Spoke Pattern) Input filter : gambar lingkaran
Output : lowpass filter, radius spatial filter,and corresponding radius pada domain
frekuensi spasial
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 3/22
Gambar yang akan difilter
Spoke Pattern
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 4/22
Digunakan sebagai input filter filter spasial lingkaran
Spatial Filter
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 5/22
Intensitas warna putih (intensitas tinggi) berkurang
Gambar yang sudah terfilter
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 6/22
%@@@@@@@@@@@@@@@@@@@@@@@@@@@
%Input Spoke Pattern
s=256;
n=40; %Jumlah ruji/spokes
for x=1:s
xt=(2*(x-1)/(s-1))-1;for y=1:s
yt=(2*(y-1)/(s-1))-1;
r=xt^2+yt^2;
t=floor(atan2(yt,xt)/pi*n);
spo(x,y)=(r<=0.90)*(mod(t,2)>0.5);
end
end
%Input image
Input=spo;
%End of input image
%@@@@@@@@@@@@@@@@@@@@@@@@@@
Program Gambar Sumber
Matrix ukuran
x*y bernilai 0atau 1
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 7/22
%Fourier transform of the input image
F_Input=(1/256)^2*fft2(S_Input);
F_Input=fftshift(F_Input);
%**********************************
%circular opening at the fourier plane corresponds to lowpass filtering
%Low pass filter
pu=zeros(256);Ro=60; %M determimes the size of the low pass filter
for n=1:256
for m=1:256
if (n-127)^2+(m-127)^2<Ro^2
pu(n,m)=1;
end
end end
R=Ro/255; %R is radius of spatial filter in spatial domain
disp(R)
%End of pass filter
%**********************************
Menggunakan DFTuntuk merubah kedomain frekuensi
kemudian mengatur frekuensi 0 pada pusat
Program Pemfilter
Memberikan
warna putih untuk radius < 60
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 8/22
Pemfilter pada spatial &frequency domain%Display spatial filter
figure(3)
image(X,Y,256*pu)
colormap(gray(256))
title('Spatial Filter in Spatial Domain')xlabel('cm')
ylabel('cm')
axis square
%Spatial filter
kr0=R*2*pi/dx;
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 9/22
Pemfilter pada spatial &frequency domain%Flip the spatial filter
pu=fliplr(pu);
pu=flipud(pu);
S_pu=zeros(256);
S_pu=pu;%Display the filter in frequency domain
figure(4)
image(Kx,Ky,256*S_pu)
colormap(gray(256))
title('Spatial Filter in Frequency Domain')xlabel('rad/cm')
ylabel('rad/cm')
axis square
Mengubah urutan matirx
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 10/22
Program Filter & Output
%Filtering in frequency domain
F_Output=F_Input.*S_pu;
Output=ifft2(F_Output);
Output=(256^2)*Output;
%Output=fftshift(Output);
%Display the filtered output
figure(5)
image(X,Y,256*abs(Output)/max(max(abs(Output))))
colormap(gray(256))
title('Filtered Image')xlabel('cm')
ylabel('cm')
axis square
Bentuk dari konvolusi
yang kemudian diinfvers FFT spuaya
kembali dalam domainspatial
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 11/22
Coherent bandpass filter
Memiliki kelebihan untuk menentukanbatas tepi frekuensi yang diloloskan
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 12/22
Gambar pemfilter
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 13/22
Memiliki rentang nilai intensitas rendah hingga intensitas tinggi.
Gambar setelah difilter
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 14/22
Program Gambar Pemfilter
%**********************************
%Annular opening at the fourier plane corresponds to bandpass filtering
%Bandpass filter
pu=zeros(256);
%Outside radius=a/255 (unit length), inside radius=b/255
a=30;
b=20;for n=1:256
for m=1:256
if (n-127)^2+(m-127)^2<a^2
pu(n,m)=1;
end
end
end for n=1:256
for m=1:256
if (n-127)^2+(m-127)^2<b^2
pu(n,m)=0;
end
end
end
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 15/22
Program Filter & Output
%Filtering in frequency domain
F_Output=F_Input.*S_pu;
Output=ifft2(F_Output);
Output=(256^2)*Output;
%Output=fftshift(Output);
%Display the filtered output
figure(5)
image(X,Y,256*abs(Output)/max(max(abs(Output))))
colormap(gray(256))
title('Filtered Image')xlabel('cm')
ylabel('cm')
axis square
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 16/22
Incoherent Spatial Filtering
Terdapat tambahan pada fungsi transfer berupa OTF (Optical Transfer Function)
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 17/22
Gambar Filter
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 18/22
Gambar Optical Transfer Function
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 19/22
Gambar setelah difilter
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 20/22
Program Gambar Pemfilter
pu=zeros(256);
%Outside radius=a/255 (unit length), inside radius=b/255
a=50;
b=10;
for n=1:256
for m=1:256
if (n-127)^2+(m-127)^2<a^2 pu(n,m)=1;
end
end
end
for n=1:256
for m=1:256
if (n-127)^2+(m-127)^2<b^2 pu(n,m)=0;
end
end
end
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 21/22
Program OTF
%Spatial filter
%kr0=R*2*pi/dx;
%Flip the spatial filter
pu=fliplr(pu);
pu=flipud(pu);
S_pu=zeros(256);
S_pu=pu;
%F_S_pu is the fourier transform of H(kx,ky)
F_S_pu=fft2(S_pu);
F_OTF=F_S_pu.*conj(F_S_pu);S_pu=fftshift(fft2(F_OTF));
S_pu=S_pu/(max(max(abs(S_pu))));
%S_pu is the OTF of the system
8/8/2019 Optical Image Processing
http://slidepdf.com/reader/full/optical-image-processing 22/22
Program Filter & Output
%Filtering in frequency domain
F_Output=F_Input.*S_pu;
Output=ifft2(F_Output);
Output=(256^2)*Output;
%Output=fftshift(Output);
%Display the filtered output
figure(5)
image(X,Y,256*abs(Output)/max(max(abs(Output))))
colormap(gray(256))
title('Incoherent Filtered Image by annular spatial filter')xlabel('cm')
ylabel('cm')
axis square