Komponen DC pada citra digital meminjam istilah dari DC (direct current) pada sistem listrik. Pada citra digital, komponen DC pada kawasan frekuensi merupakan rerata dari intensitas citra dikalikan dengan banyaknya elemen matriks. Sehingga komponen DC adalah jumlah dari semua nilai intensitas citra (DIP, Gonzalez). Komponen DC pada kawasan frekuensi didapat ketika kita melakukan transformasi citra menggunakan transformasi Fourier dua dimensi (2-D). Hasil transformasi ini tetap berukuran yang sama dengan matriks citra. Bila dimisalkan maka , 0,0 merupakan komponen DC dari citra tersebut. Jika dimisalkan MN merupakan banyak merupakan matriks citra asli (sebelum di transformasi) 0,0 adalah rerata dari , dikalikan dengan MN. Transformasi Fourier menempatkan , merupakan hasil transformasi Fourier dari citra
komponen DC dikoordinat (0,0) atau koordinat yang berada di paling kanan-atas. Sama halnya ketika kita melakukan transformasi Fourier pada isyarat satu dimensi (1-D) maka isyarat DC,jika ada, akan ditempatkan pada koordinat paling kiri (0,0). Dengan demikian untuk pengolahan citra kita bisa langsung memberikan perlakuan pada nilai DC tersebut karena telah mengetahui lokasinya. Namun dalam MATLAB tidak dikenal koordinat (0,0) sehingga koordinat tersebut diubah menjadi (1,1). Dalam artikel ini, kita akan melihat letak dan nilai dari komponen DC pada sebuah citra. Lalu nilai komponen tersebut akan kita hilangkan dan melihat efeknya pada citra. Pada dasarnya komponen dc ini memiliki frekuensi nol dan nilainya konstan sehingga ketika diplot akan menghasilkan gambar yang warnanya seragam. Dengan menghilangkan komponen dc pada sebuah citra berarti mengurangi energi yang tersimpan pada citra tersebut. Energi yang dimaksud adalah kandungan informasi pada citra. Transformasi fourier 2-D dirumuskan sebagai berikut: , = ,
Page 1
merupakan nilai Fourier. Seperti diketahui bahwa walaupun nilai intensitas sebagai masukan
untuk transformasi Fourier berupa bilangan nyata (real), hasil transformasinya akan berupa bilangan kompleks (mengandung nilai real dan imajiner). Namun tetap akan dihasilkan nilai dc yang merupakan nilai konstan nyata (real). Program matlab untuk artikel adalah
clear all; close all; clc; %% reading image filename='Fig0646(a)(lenna_original_RGB).tif'; I=imread(filename); imshow(I); title('original image'); %% %% doing FFT 2-D I_fft=fft2(I); % set dc component to 0 I_fft(1,1,1:3)=0; % inverse dari FFT2 setelah komponen dc di nol kan Z = ifft2(I_fft); % menggeser letak komponen DC ke tengah (gray image) Ig=rgb2gray(I); I_fft1=fft2(Ig); I_fft2=(fftshift(I_fft1)); figure, mesh(log(abs(I_fft2))); title('dc location in 3D mode -> at centre of graph'); figure, imshow(log(abs(I_fft2)),[]), colormap(jet(64)), colorbar title('dc location in 2D mode -> at centre of graph'); figure, imshow(uint8(Z)); title('citra setelah komponen DC di nol kan'); %%
Telah dijelaskan di atas bahwa letak komponen DC pada matriks hasil FFT berada di koordinat (0,0) atau (1,1) untuk MATLAB. Pada program diatas, kita melakukan penggeseran titik tersebut agar
Page 2
Page 3
Page 4
Page 5
@ thanks
Sources: Digital Image Processing 3rd ed. Rafael C. Gonzalez., Richard E. Woods. Pearson Prentice Hall.
Page 6