menghilangkan derau citra additive dengan filter mean (spatial filtering)

9
Pengolahan citra digital by Jans Hendry / Elektro UGM, Indonesia 1 MENGHILANGKAN DERAU CITRA DENGAN FILTER MEAN (spatial filtering) Kehadiran derau dalam objek penelitian dalam hal ini citra digital tidak bisa dipungkiri. Kehadirannya bisa menyebabkan kesalahan dalam mengestimasi informasi yang terkandung dalam citra tersebut. Derau sebenarnya memiliki variasi yang beragam, namun beberapa jenis derau telah dideskripsikan secara matematis untuk mengetahui “tingkah laku” nya dan bagaimana cara mengatasinya. Tentu bila secara matematis telah dirumuskan, maka kita bisa mengembangkan “anti derau” secara matematis pula. Sebuah citra yang telah tercampur derau akan memiliki persamaan umum, yakni: g(x,y) = f(x,y) + n(x,y) derau bisa tampak pada kawasan ruang-waktu atau juga dalam kawasan frekuensi. Bila memang sudah tampak dalam kawasan ruang-waktu, maka bisa langsung digunakan tapis untuk menghilangkan derau tersebut. Namun, derau bisa saja hanya tampak pada kawasan frekuensi. Maka perlu diberlakukan alihragam untuk mendeteksi derau tersebut untuk mengetahui jenisnya. Lalu diberlakukanlah tapis yang sesuai. Dalam kawasan frekuensi citra memiliki bentuk persamaan: G(u,v) = F(u,v) + N(u,v) Derau yang bersifat kontinu dapat dilihat dari sifat periodesitasnya melalui kawasan frekuensi. Tentu saja kita tau dibutuhkan alihragam fourier untuk mengubah kawasan ke frekuensi. Bila derau terbukti periodis, maka yang dilakukan adalah mengurangi derau dari citra untuk mendapatkan estimasi citra asli atau original. Dengan menggunakan spatial filtering, derau bisa di kurangi hanya derau tersebut bersifat additive atau tambahan. Dengan arti lain, bahwa kita memberikan derau tambahan pada citra original lalu dilakukan penapisan dengan menggunakan filter-filter tertentu. Berikut ini akan dihadirkan jenis- jenis filter Mean dan kegunaannya. Arithmetic mean filter Filter ini merupakan jenis yang paling sederhana. Dalam operasinya, filter ini akan menghitung rerata dari citra berderau g(x,y) dalam area yang dikenai oleh jendela. Daerah yang dikenai jendela ini disebut juga sebagai subimage yang dilambangkan dengan S xy . Sehingga diharapkan tidak akan menimbulkan kebingungan ketika simbol ini digunakan dalam menyebutkan subimage dalam artikel ini. Bila dimisalkan bahwa (x,y) merupakan nilai intensitas setelah di tapis, maka rumus arithmetic mean filter adalah: (,)= 1 (,) (,)∈ m dan n merupakan baris dan kolom dari sebuah matriks filter. Biasanya matriks ini berukuran ganjil x ganjil agar ada poros tengah karena hasil perhitungan rerata akan diberikan pada titik tengah dari matriks.

Upload: jans-hendry

Post on 05-Jul-2015

830 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Menghilangkan Derau Citra Additive Dengan Filter Mean (Spatial Filtering)

Pengolahan citra digital by Jans Hendry / Elektro UGM, Indonesia

1

MENGHILANGKAN DERAU CITRA DENGAN FILTER MEAN

(spatial filtering)

Kehadiran derau dalam objek penelitian dalam hal ini citra digital tidak bisa dipungkiri. Kehadirannya

bisa menyebabkan kesalahan dalam mengestimasi informasi yang terkandung dalam citra tersebut.

Derau sebenarnya memiliki variasi yang beragam, namun beberapa jenis derau telah dideskripsikan

secara matematis untuk mengetahui “tingkah laku” nya dan bagaimana cara mengatasinya. Tentu bila

secara matematis telah dirumuskan, maka kita bisa mengembangkan “anti derau” secara matematis pula.

Sebuah citra yang telah tercampur derau akan memiliki persamaan umum, yakni:

g(x,y) = f(x,y) + n(x,y)

derau bisa tampak pada kawasan ruang-waktu atau juga dalam kawasan frekuensi. Bila memang sudah

tampak dalam kawasan ruang-waktu, maka bisa langsung digunakan tapis untuk menghilangkan derau

tersebut. Namun, derau bisa saja hanya tampak pada kawasan frekuensi. Maka perlu diberlakukan

alihragam untuk mendeteksi derau tersebut untuk mengetahui jenisnya. Lalu diberlakukanlah tapis yang

sesuai. Dalam kawasan frekuensi citra memiliki bentuk persamaan:

G(u,v) = F(u,v) + N(u,v)

Derau yang bersifat kontinu dapat dilihat dari sifat periodesitasnya melalui kawasan frekuensi. Tentu

saja kita tau dibutuhkan alihragam fourier untuk mengubah kawasan ke frekuensi. Bila derau terbukti

periodis, maka yang dilakukan adalah mengurangi derau dari citra untuk mendapatkan estimasi citra asli

atau original. Dengan menggunakan spatial filtering, derau bisa di kurangi hanya derau tersebut bersifat

additive atau tambahan. Dengan arti lain, bahwa kita memberikan derau tambahan pada citra original

lalu dilakukan penapisan dengan menggunakan filter-filter tertentu. Berikut ini akan dihadirkan jenis-

jenis filter Mean dan kegunaannya.

� Arithmetic mean filter

Filter ini merupakan jenis yang paling sederhana. Dalam operasinya, filter ini akan menghitung

rerata dari citra berderau g(x,y) dalam area yang dikenai oleh jendela. Daerah yang dikenai

jendela ini disebut juga sebagai subimage yang dilambangkan dengan Sxy. Sehingga diharapkan

tidak akan menimbulkan kebingungan ketika simbol ini digunakan dalam menyebutkan

subimage dalam artikel ini. Bila dimisalkan bahwa ��(x,y) merupakan nilai intensitas setelah di

tapis, maka rumus arithmetic mean filter adalah:

��(�, �) = 1� � (�, �)(�,�)∈���

m dan n merupakan baris dan kolom dari sebuah matriks filter. Biasanya matriks ini berukuran

ganjil x ganjil agar ada poros tengah karena hasil perhitungan rerata akan diberikan pada titik

tengah dari matriks.

Page 2: Menghilangkan Derau Citra Additive Dengan Filter Mean (Spatial Filtering)

Pengolahan citra digital by Jans Hendry / Elektro UGM, Indonesia

2

Perhatikan contoh berikut untuk memperjelas operasi ini.

Pada contoh ini matriks penapis yang akan digunakan berukuran 3x3 yang semuanya bernilai 1.

Matriks ini gunanya untuk mencuplik matriks Sxy dari matriks original yang kemudian

dioperasikan dengan rumusan arithmetic mean filter.

4 7 8

2 3 4

1 8 9 maka hasil filternya: �(�)(�) (4 + 7 + 8 + 2 + 3 + 4 + 1 + 8 + 9)

= �� (46)

= 5.1111

≅ 5

Maka matriks Sxy hasil filter adalah

4 7 8

2 5 4

1 8 9

Filter jenis ini, bisa digunakan untuk menapis citra yang mengandung derau acak seperti uniform

atau Gaussian.

� Geometric mean filter

Dengan menggunakan filter jenis ini, matriks citra akan ditapis berdasarkan rumus berikut:

��(�, �) = # $ (�, �)(�,�)∈���%�&'

Rumus di atas mengandung arti bahwa semua piksel yang mewakili nilai intensitas dari citra

yang terkena jendela filter dikalikan lalu dipangkatkan dengan �&'.

Perhatikan contoh berikut untuk menjelaskan penggunaan rumus di atas.

4 7 8

2 3 4

1 8 9 maka hasil filternya: (4 ∗ 7 ∗ 8 ∗ 2 ∗ 3 ∗ 4 ∗ 1 ∗ 8 ∗ 9)�/(�∗�) = 387072�/�

= 4.177

≅ 4

Maka matriks hasil filter adalah:

Sxy

Sxy

Page 3: Menghilangkan Derau Citra Additive Dengan Filter Mean (Spatial Filtering)

Pengolahan citra digital by Jans Hendry / Elektro UGM, Indonesia

3

4 7 8

2 4 4

1 8 9

Dibandingkan dengan filter arithmatic, filter ini lebih cocok untuk menapis citra yang

mengandung derau uniform atau Gaussian. Walaupun filter sebelumnya juga bisa digunakan,

namun dengan menggunakan filter geometric, hasilnya lebih bagus.

� Harmonic mean filter

Filter ini dapat digunakan untuk mengurangi derau yang berupa Gaussian dan Salt tapi

sayangnya tidak cocok untuk derau Pepper. Filter ini dirumuskan secara matematis menjadi:

��(�, �) = �+ 1 (�, �)(�,�)∈���

Perhatikan contoh berikut untuk menjelaskan arti rumus di atas.

4 7 8

2 3 4

1 8 9 maka hasil filternya: &∗',-.,/.,0.,1.,2.,-.,,.,0.,3

= �∗�4.67

= �4.67

= 3.17

≅ 3

Maka matriks hasil filter adalah:

4 7 8

2 3 4

1 8 9

� Contraharmonic mean filter

Filter ini merupakan solusi untuk menyelesaikan kasus bila derau additive berupa derau salt &

pepper. Filter ini dirumuskan dengan:

��(�, �) = 8 (�, �)9.�(�,�)∈���∑ (�, �)9(�,�)∈���

Sxy

Page 4: Menghilangkan Derau Citra Additive Dengan Filter Mean (Spatial Filtering)

Pengolahan citra digital by Jans Hendry / Elektro UGM, Indonesia

4

Keterbatasan tentu dimiliki oleh filter ini. Filter ini tidak bisa menghilangkan derau salt dan

pepper secara bersamaan. Salt hanya dapat dihilangkan bila Q bernilai negatif, sedangkan bila Q

bernilai positif maka akan bekerja untuk derau pepper. Q disebut juga dengan orde filter.

Misalkan nilai Q = 0, maka bisa dibuktikan bahwa rumus nya akan berubah menjadi rumus

arithmetic filter. Sedangkan bila Q = -1 filter akan berubah menjadi harmonic filter.

Pada program di bawah akan ditunjukkan pengaruh penggunaan filter-filter yang telah disebutkan di atas

terhadap citra digital yang telah diberikan derau additive yang berbeda-beda.

Silahkan menggunakan code di bawah:

% membaca citra I=imread('Fig0512(a)(ckt-uniform-var-800)','tif'); imshow(I); title('Citra Asli');

%% membuat matriks dummy I=double(I); [x,y]=size(I); dummy=zeros(x,y); m=3; n=3; a=ones(m,n); %%

%% blok filter for ii=1:x-(m-1) warning off; for jj=1:y-(n-1) aa=a.*I(ii:m+ii-1,jj:n+jj-1); b=reshape(aa,1,m*n); b=mean_arit(b,m,n); 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'); warning on;

Page 5: Menghilangkan Derau Citra Additive Dengan Filter Mean (Spatial Filtering)

Pengolahan citra digital by Jans Hendry / Elektro UGM, Indonesia

5

Anda perhatikan bahwa pada program di atas ada yang diberi kotak merah. Itu adalah jenis filter yang

sedang digunakan yang dibuat dalam fungsi yang berbeda. Jadi jangan lupa untuk membuat .m file lain

yang berisi fungsi-fungsi filter berikut ini.

Khusus untuk contraharmonic mean filter jangan lupa untuk memberikan nilai orde filter – Q. Yang

menjadi keterbatasan dengan menggunakan teknik ini adalah karena kita telah memberikan nilai yang

sama untuk bagian tepi dari citra dummy dari citra original, mengakibatkan derau yang tertinggal di

bagian tepi citra original akan tetap ada di citra hasil filter. Perlu diingat juga bahwa program ini

diperuntukkan untuk matriks filter mxn yakni 3x3.

Tapi program ini baik untuk latihan dan memahami arti dari jenis-jenis filter mean tersebut. Program

yang lebih baik dalam menangani permasalahan tadi akan diberikan pada artikel berikutnya. Cara

kerjanya adalah dengan memperbesar ukuran citra original dengan menambahkan nilai nol sehingga

nanti hasil filter akan dikembalikan menjadi ukuran semula. Sehingga tentu saja, tiap piksel dari citra

original akan mengalami operasi penapisan. Dengan demikian, derau yang masih tertinggal akan bisa

dihilangkan.

function bb=mean_arit(b,m,n) bb=0; for i=1:m*n bb=bb+b(i); end bb=floor(bb/(m*n)); end

function bb=mean_geom(b,m,n) bb=1; for i=1:m*n bb=bb*b(i); end bb=floor(bb^(1/(m*n))); end

function bb=mean_harm(b,m,n) b=1./b; bb=0; for i=1:m*n bb=bb+b(i); end bb=floor((m*n)/bb); end

function bb=mean_charm(b,m,n,Q) bb=0; for i=1:m*n bb=bb+b(i); end bb1=bb^(Q+1); bb2=bb^(Q); bb=floor(bb1/bb2); end

Page 6: Menghilangkan Derau Citra Additive Dengan Filter Mean (Spatial Filtering)

Pengolahan citra digital by Jans Hendry / Elektro UGM, Indonesia

6

Hasil dari eksekusi program di atas sesuai dengan urutannya adalah:

Citra asli tanpa derau

Page 7: Menghilangkan Derau Citra Additive Dengan Filter Mean (Spatial Filtering)

Pengolahan citra digital by Jans Hendry / Elektro UGM, Indonesia

7

Arithmetic mean filter result

Page 8: Menghilangkan Derau Citra Additive Dengan Filter Mean (Spatial Filtering)

Pengolahan citra digital by Jans Hendry / Elektro UGM, Indonesia

8

Geometric mean filter result

Harmonic mean filter result

Contraharmonic mean filter result

Page 9: Menghilangkan Derau Citra Additive Dengan Filter Mean (Spatial Filtering)

Pengolahan citra digital by Jans Hendry / Elektro UGM, Indonesia

9

Semoga bisa membantu…

TERIMA KASIH

Referensi:

- R. Gonzalez and R. Woods. Digital Image Processing. Addison Wesley

- citra yang digunakan juga berasal dari buku DIP di atas.