Anda di halaman 1dari 9

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

MENGHALUSKAN CITRA DENGAN FILTER SPASIAL NONLINIER: MEDIAN, MEAN, MAX, MIN PADA PENGOLAHAN CITRA DIGITAL

Filter spasial non-linier atau disebut juga dengan filter statistik berdasar urutan (order-statistic filter) merupakan filter yang respon nya didasarkan pada urutan atau rangking piksel yang ada dalam citra yang dicakup oleh area filter dan menggantikan nilai dari piksel yang berada di tengah digantikan dengan nilai hasil pengurutan atau perangkingan tersebut. Filter yang paling dikenal dari jenis ini adalah filter median. Filter ini bekerja dengan menggantikan nilai tengah dari piksel yang dicakup oleh area filter dengan sebuah nilai tengah (median) setelah diurutkan terlebih dahulu dari yang terkecil ke yang terbesar. Biasanya ukuran filter adalah ganjil karena akan memberikan poros tengah, sehingga akan lebih mudah dalam mengolah citra. Kelebihan dari filter median adalah kemampuannya dalam mengurangi derau yang diakibatkan oleh derau acak misalnya jenis salt and pepper noise atau bisa disebut sebagai derau impulse. Dibandingkan dengan jenis filter spasial (ruang) non-linier lainnya, filter median merupakan filter yang paling cocok untuk kasus tersebut. Sehingga filter ini dinobatkan menjadi filter yang paling ampuh dalam mengolah citra berderau sejenis. Selain digunakan untuk menghilangkan derau, filter-filter ini juga digunakan untuk menghaluskan citra digital. Filter non-linier lebih unggul dibanding dengan filter linier dengan ukuran jendela filter yang sama. Selain itu, filter non-linier tidak memerlukan operasi konvolusi terhadap citra original, yang berbeda dengan operasi dari filter linier. A. Filter Median Dalam merancang filter median, ada beberapa hal yang harus dipersiapkan terlebih dahulu. - Siapkan matriks yang akan diolah. Bila matriks berisi citra, maka jadikan citra tersebut menjadi citra grayscale atau abu-abu agar yang didapat hanya 1 matriks intensitas saja. - Siapkan matriks yang NOL yang ukurannya sama persis dengan citra yang akan diolah. Matriks ini nantinya akan berisi nilai-nilai intensitas dari citra asli yang sudah diolah terlebih dahulu. Langkah selanjutnya akan ditunjukkan pada pembahasan contoh berikut ini.
3 9 8 6 8 7 4 3 2 5 4 1 2 3 4 5 6 3 7 8 7 5 9 7 0 2 1 1 1 7 1 7 9 8 6 7 3 6 8 2 9 4 5 7 0 9 8 9 6 8 5 6 9 5 5 3 5 4 4 3 7 0 4 3 4 4 9 5 7 3 0 3 2 2 7 6 3 6 1 5 7 6 0 6 5 1 1 2 4 1 8 6 3 5 6 7 8 2 8

Table 1 Matriks Original

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0

Table 2 Matriks NOL

Langkah-langkahnya adalah sebagai berikut: Misalkan ukuran jendela filter median yang akan digunakan berukuran 3x3. Operasi filter akan dimulai dari piksel kiri-atas.
3 9 8 6 8 7 4 3 2 5 4 1 2 3 4 5 6 3 7 8 7 5 9 7 0 2 1 1 1 7 1 7 9 8 6 7 3 6 8 2 9 4 5 7 0 9 8 9 6 8 5 6 9 5 5 3 5 4 4 3 7 0 4 3 4 4 9 5 7 3 0 3 2 2 7 6 3 6 1 5 7 6 0 6 5 1 1 2 4 1 8 6 3 5 6 7 8 2 8

3 9 8

5 4 1

7 8 7

Bila dijadikan 1 baris menjadi: 3, 5, 7, 9 ,4, 8, 8, 1, 7 Bila diurutkan menjadi: 1, 3, 4, 5, 7, 7, 8, 8, 9


3 9 8 6 8 7 4 3 2 5 7 0 0 0 0 0 0 3 7 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7 3 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 5 5 0 0 0 0 0 0 0 4 3 0 0 0 0 0 0 0 3 2 0 0 0 0 0 0 0 7 6 0 0 0 0 0 0 0 1 8 6 3 5 6 7 8 2 8

Median/titik tengah

Figure 1 Matriks NOL sebagai hasil filter

Tampak bahwa matriks nol akan berubah elemen nya menjadi nilai median dari matriks original sesuai dengan ukuran dari bagian matriks original yang tercakupi dengan jendela filter. Ada yang sedikit membingungkan memang, mengapa elemen-elemen paling tepi dari matriks nol sama dengan elemenelemen paling tepi dari matriks original. Karena kita tidak akan memproses bagian pinggir tersebut, jelas tidak mungkin untuk diproses. Perlu diingat bahwa proses filter itu diperlakukan untuk semua piksel. Jadi ketika proses filter pertama di atas selesai, maka proses berikutnya berlangsung pada piksel yang tepat disebelahnya. Bila filter telah mencapai kolom terakhir dalam satu baris, maka filter akan turun satu piksel dan dimulai dari sebelah kiri. Demikianlah semua proses tersebut terjadi hingga semua nilai 0 pada matriks NOL berubah menjadi nilai median atau titik tengah dari matriks original yang sesuai dengan ukuran dari jendela filter.

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

Setelah beberapa iterasi, maka akan dihasilkan bentuk akhir dari matriks hasil filter seperti di bawah ini: 3 9 8 6 8 7 4 3 2 5 7 6 6 6 5 4 3 3 7 5 4 5 5 7 6 5 1 1 7 6 7 7 7 6 5 7 3 7 6 7 6 7 6 6 0 9 6 6 6 4 5 5 5 5 5 5 5 5 5 5 5 4 4 3 4 4 5 5 4 3 3 3 2 4 5 5 5 3 3 3 7 6 6 5 5 5 3 4 4 1 8 6 3 5 6 7 8 2 8

B. Filter Mean Sesuai dengan namanya, filter ini akan mengganti sebuah piksel dengan reratanya. Langkahlangkahnya sama persis dengan filter median, hanya saja pada filter ini operasi yang digunakan adalah rerata bukan median. Anda bisa mencoba sendiri untuk menghitungnya, untuk perbandingan maka hasil dari operasi rerata atau mean terhadap matriks original yang telah disebutkan sebelumnya adalah: 3 9 8 6 8 7 4 3 2 5 6 6 5 6 5 4 3 3 7 5 4 5 5 6 5 4 1 1 5 5 6 6 6 5 4 7 3 6 5 6 6 7 7 6 0 9 6 6 6 5 6 5 5 5 5 6 6 6 6 5 4 4 4 3 4 5 5 5 4 4 3 3 2 4 5 5 5 3 3 3 7 6 4 4 5 4 4 4 4 1 8 6 3 5 6 7 8 2 8

C. Filter Max Filter max berarti menggantikan piksel dengan nilai tertinggi dari suatu deret yang terbentuk dari matriks yang sesuai dengan ukuran dari jendela filter. Langkah-langkah lainnya sama dengan filter median. Untuk perbandingan buat anda, maka hasil dari filter pada matriks original yang telah disebutkan sebelumnya adalah: 3 9 8 6 8 7 4 3 2 5 9 9 9 9 9 7 6 3 7 8 8 9 9 9 9 8 1 1 8 8 9 9 9 9 8 7 3 9 9 9 9 9 9 9 0 9 9 9 9 9 9 9 9 5 5 9 9 9 9 8 9 9 4 3 7 9 9 9 7 7 7 3 2 7 9 9 9 7 7 7 7 6 8 7 7 7 8 8 8 1 8 6 3 5 6 7 8 2 8

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

D. Filter Min Filter ini merupakan kebalikan dari filter max. Artinya bahwa piksel akan digantikan dengan nilai min (minimal) dari sebuah deret dari matriks yang berukuran sesuai dengan jendela matriks filter. Untuk lebih jelas, perhatikan contoh berikut sebagai perbandingan. Perhatikan bahwa matriks originalnya masih sama dengan matriks yang tersebut sebelumnya. 3 9 8 6 8 7 4 3 2 5 1 1 1 2 0 0 0 3 7 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 7 3 1 1 1 1 4 4 0 0 9 3 2 2 2 3 0 0 5 5 3 3 4 3 3 0 0 4 3 2 2 3 3 1 0 0 3 2 0 0 1 1 1 0 0 7 6 0 0 1 1 1 1 1 1 8 6 3 5 6 7 8 2 8

Implementasi filter pada citra digital Filter-filter tersebut dapat diimplementasikan dalam citra digital. Tujuannya tentu sangat beragam. Penggunaannya memang untuk tujuan-tujuan tertentu tergantung dengan permasalahan yang sedang ditangani. Misalnya bila ingin menghaluskan citra atau biasa disebut sebagai image smoothing dan untuk menghapus derau atau noise eliminating. Dalam program ini, kita akan mencoba untuk mengolah citra digital menggunakan filter. Hasilnya bisa berupa penghalusan dan bisa juga berupa penghilangan derau. Untuk contoh berikut ini adalah proses untuk menghaluskan citra. Langkah-langkah dalam membuat program matlab untuk mengolah citra digital menggunakan filter-filter di atas adalah: PS: this program originally developed by me. Membaca data dari citra digital.
I=imread('sepatuku','jpg'); imshow(I); title('Citra Asli');

Menjadikan citra menjadi grayscale lalu mengubahnya ke dalam double precision.


I=rgb2gray(I); I=double(I);

Membuat matriks dummy atau buffer atau matriks nol.


[x,y]=size(I); dummy=zeros(x,y);

Membuat matriks filter dalam hal ini jendelanya berukuran 3x3, anda bisa mengubahnya.

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

m=3; n=3; a=ones(m,n);

Melakukan operasi penapisan atau filter terhadap matriks original. Gantilah perintah MEDIAN menjadi MEAN, MAX, MIN sesuai dengan keinginan anda. Khusus untuk MEAN, pakailah pembulatan ROUND.
for ii=1:x-(m-1) for jj=1:y-(n-1) aa=a.*I(ii:m+ii-1,jj:n+jj-1); b=reshape(aa,1,m*n); b=sort(b); b=median(b); dummy(ii+1,jj+1)=b; end end

Menyusun kembali matriks akhir setelah di filter.


for ii=2:x-1 for jj=1:y if jj==1 n=I(ii,jj); elseif jj==y n=I(ii,jj); else n=0; end mmed(ii-1,jj)=n; end end mmed=[I(1,:);mmed;I(x,:)]; mmed=mmed+dummy;

Menampilkan citra hasil filter smoothing.


figure, imshow(mmed,[0 255]); title('Citra Hasil Filter');

Hasil eksekusi program untuk ke empat filter tersebut adalah:

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

*** median

*** mean

*** max

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

*** min

Perlu diketahui untuk filter min, maka bisa saja terjadi pada citra hasil tapis akan timbul warna gelap yang berbentuk blok-blok, sedangkan untuk filter max akan menyebabkan warna terang yang berbentuk blok-blok. Lokasi nya juga acak.

Sebagai contoh aplikasi dari filter median untuk menapis citra yang terkena derau salt and pepper. Perhatikan code berikut ini:
% membaca citra I=imread('sepatuku','jpg'); imshow(I); title('Citra Asli'); I=imnoise(I,'salt & pepper',0.02); figure, imshow(I); title('Citra Dengan Noise S&P'); I=rgb2gray(I); %% %% membuat matriks dummy
7

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

I=double(I); [x,y]=size(I); dummy=zeros(x,y); m=3; n=3; a=ones(m,n); %% %% filter for ii=1:x-(m-1) for jj=1:y-(n-1) aa=a.*I(ii:m+ii-1,jj:n+jj-1); b=reshape(aa,1,m*n); b=sort(b); b=min(b); dummy(ii+1,jj+1)=b; end end %% %% matriks akhir setelah di filter for ii=2:x-1 for jj=1:y if jj==1 n=I(ii,jj); elseif jj==y n=I(ii,jj); else n=0; end mmed(ii-1,jj)=n; end end mmed=[I(1,:);mmed;I(x,:)]; mmed=mmed+dummy; %% %% menampilkan citra grayscale dengan range 0-255 figure, imshow(mmed,[0 255]); title('Citra Hasil Filter'); %%

Hasil eksekusinya adalah:

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

*** citra kena derau salt and pepper

*** citra hasil tapis median terhadap citra berderau

Pemanfaatan filter lain untuk menapis derau akan dibahas pada artikel lainnya. TERIMA KASIH Referensi: - R. Gonzalez and R. Woods. Digital Image Processing. Addison Wesley - www.image.google.co.id - email: janshendry@kagamavirtual.com

Anda mungkin juga menyukai