Portofolio 3

Portofolio 3 ini membahas tentang Transformasi Fourier

Hasil rekonstruksi foto saya sendiri dengan beberapa jumlah frequensi yang berbeda.

  • Jumlah frequensi 100:

  • Jumlah frequensi 200:

Jumlah frequensi 400:



Gaussian Filter:

objek = imread(‘DSC00013.JPG’);

obgray = rgb2gray(objek); obresize = imresize (obgray, 0.5);

objfft = fft2(obresize);

gafilt = fspecial(‘gaussian’, size(obresize), 6);

imwritesc(gafilt, ‘GausImFilt.jpg’);

imwritesc(fftshift(log (abs(GausFiltFFT)+eps)), ‘GausFiltFFt.jpg’);

NewImGausFFT =GausFiltFFT.*objfft;

imwritesc(fftshift(log (abs(NewImGausFFT)+eps)), ‘NewImGausFFT.jpg’);

imwritesc(fftshift (real(ifft2(NewImGausFFT))), ‘NewImGaus.jpg’);

Average Filter:

objfft = fft2(obresize);


I = avefilter(obresize,[7 7]);

imwritesc(I, ‘AvFiltIm.jpg’);


AvFiltFFT = fft2(I);

imwritesc(fftshift(log (abs(AvFiltFFT)+eps)), ‘AvFiltFFT.jpg’);

imwritesc(fftshift(real(ifft2 (NewImAvFFT))), ‘NewImAverage.jpg’);

NewImAvFFT=AvFiltFFT.*objfft;

imwritesc(fftshift(log(abs (NewImAvFFT)+eps)), ‘NewImAvFFT.jpg’);

Image Phase

  • 2 Citra foto saya:

  • Image2(ijo.jpg) sebagai fase dan image1(rotiku.jpg) sebagai amplitudo:

  • Image2(ijo.jpg) sebagai amplitudo dan image1(rotiku.jpg) sebagai fase:

  • Citra wajah saya sendiri versi fase saja:

Listing program yang saya gunakan untuk pertukaran nilai fase:

image1 = imread(‘rotiku.jpg’);
image2 = imread(‘ijo.jpg’);

image1 = rgb2gray(image1); % convert to greyscale
image2 = rgb2gray(image2); % convert to greyscale

image1_fft = fft2(image1); % FFT
image2_fft = fft2(image2); % FFT

image1_phase = angle(image1_fft);
image2_phase = angle(image2_fft);;

image1_mag = abs(image1_fft);
image2_mag = abs(image2_fft);

NewImFFT1 = image1_mag.*(cos(image2_phase) + i*sin(image2_phase));
NewImFFT2 = image2_mag.*(cos(image1_phase) + i*sin(image1_phase));

imwritesc(real(ifft2(NewImFFT1)), ‘Image1_mag_image2_phase.jpg’);
imwritesc(real(ifft2(NewImFFT2)), ‘image1_phase_image2_mag.jpg’);

image1_phase_only = image1_fft./image1_mag;
image2_phase_only = image2_fft./image2_mag;

imwritesc(real(ifft2(image1_phase_only)), ‘Image1_phaseonly.jpg’);
imwritesc(real(ifft2(image2_phase_only)), ‘Image2_phaseonly.jpg’);

imwritesc(image1, ‘Image1.jpg’);
imwritesc(image2, ‘Image2.jpg’);

Ungkapkan pendapat Anda