Low Pass Filter (Reduksi Noise)
5.3. Low Pass Filter (Reduksi Noise)
Pada saat proses capture (pengambilan gambar), ada beberapa gangguan yang mungkin terjadi, seperti kamera tidak fokus atau munculnya bintik-bintik yang bisa jadi disebabkan oleh proses capture yang tidak sempurna. Setiap gangguan pada citra dinamakan dengan noise. Noise pada citra tidak hanya terjadi karena ketidak-sempurnaan dalam proses capture, tetapi bisa juga disebabkan oleh kotoran-kotoran yang terjadi pada citra.
Berdasarkan bentuk dan karakteristiknya, noise pada citra dibedakan menjadi beberapa macam yaitu:
1) Gaussian
2) Speckle
3) Salt & Pepper Macam-macam noise ini dapat dilihat pada Gambar 5.7 berikut ini:
(a)
(b) (c)
Gambar 5.7. Macam-macam noise (a) gaussian (b) speckle dan (c) salt & pepper
Noise gaussian merupakan model noise yang mengikuti distribusi normal standard dengan rata-rata nol dan standard deviasi 1. Efek dari gaussian noise ini, pada gambar muncul titik-titik berwarna yang jumlahnya sama dengan prosentase noise. Noise speckle merupakan model noise yang memberikan warna hitam pada titik yang terkena noise. Sedangkan noise salt & pepper seperti halnya taburan garam, akan memberikan warna putih pada titik yang terkena noise.
Pada beberapa pengolahan citra, terkadang untuk menguji suatu algoritma untuk dapat mereduksi noise, maka noise dihasilkan dari proses pembangkitan noise. Untuk membangkitkan noise digunakan suatu bilangan acak sebagai pengganti noise yang dihasilkan.
5.3.1. Membangkitkan Noise Uniform
Noise Uniform seperti halnya noise gausssian dapat dibangkitkan dengan cara membangkitkan bilangan acak [0,1] dengan distribusi uniform. Kemudian untuk titik-titik yang terkena noise, nilai fungsi citra ditambahkan dengan nilai noise yang ada, atau dirumuskan dengan:
dimana:
a = nilai bilangan acak berditribusi uniform dari noise p = prosentase noise y(i,j) = nilai citra terkena noise. x(i,j) = nilai citra sebelum terkena noise.
Catatan: Fungsi rnd dalam visual basic merupakan fungsi pembangkitan bilangan acak berdistribusi uniform, sehingga noise dapat dibangkitkan secara langsung dengan mengalikannya dengan besaran noise yang dibutuhkan.
Noise uniform ini merupakan noise sintesis yang sebenarnya dalam penerapannya jarang digunakan, tetapi secara pemrograman pembangkitan noise uniform ini merupakan jenis pembangkitan noise yang paling mudah.
5.3.2. Membangkitkan Noise Gaussian
Noise gaussian dapat dibangkitkan dengan cara membangkitkan bilangan acak [0,1] dengan distribusi gaussian. Kemudian untuk titik-titik yang terkena noise, nilai fungsi citra ditambahkan dengan nilai noise yang ada, atau dirumuskan dengan:
dimana:
a = nilai bilangan acak berdistribusi gaussian p = prosentase noise y(i,j) = nilai citra terkena noise. x(i,j) = nilai citra sebelum terkena noise. Untuk membangkitkan bilangan acak berdistribusi gaussian, tidak dapat langsung
menggunakan fungsi rnd, tetapi diperlukan suatu metode yang digunakan untuk mengubah distribusi bilangan acak ke dalam fungsi f tertentu. Dalam buku ini digunakan menggunakan fungsi rnd, tetapi diperlukan suatu metode yang digunakan untuk mengubah distribusi bilangan acak ke dalam fungsi f tertentu. Dalam buku ini digunakan
5.3.3. Membangkitkan Noise Salt & Pepper
Noise salt & pepper dapat dibangkitkan dengan cara membangkitkan bilangan 255 (warna putih) pada titik-titik yang secara probabilitas lebih kecil dari nilai probabilitas noise, dan dirumuskan dengan:
F(x,y)=255 jika p(x,y) < ProbNoise
Dimana: F(x,y) adalah nilai gray-scale pada titik (x,y)
p(x,y) adalah probabilitas acak
5.3.4. Membangkitkan Noise Speckle
Noise speckle dapat dibangkitkan dengan cara membangkitkan bilangan 0 (warna hitam) pada titik-titik yang secara probabilitas lebih kecil dari nilai probabilitas noise, dan dirumuskan dengan:
F(x,y)=0 jika p(x,y) < ProbNoise
Dimana: F(x,y) adalah nilai gray-scale pada titik (x,y) p(x,y) adalah probabilitas acak
5.3.5. Reduksi Noise Menggunakan Filter Rata-Rata
Ada berbagai macam teknik untuk mengurangi (reduksi) noise, salah satunya menggunakan filter rata-rata. Dalam pengertian noise sebagai suatu nilai yang berbeda dengan semua tetangganya maka dapat dikatakan noise merupakan nilai-nilai yang berada pada frekwensi tinggi, untuk mengurangi noise digunakan Low Pass Filter (LPF). Salah satu dari bentuk LPF adalah filter rata-rata.
Filter rata-rata merupakan filter H dalam bentuk matrik yang berukuran mxn, dan nilainya adalah sama untuk setiap eleme, dan karena bersifat LPF maka jumlah seluruh elemn adalah satu, dan dituliskan dengan:
Filter rata-rata berukuran 3x3 adalah:
9 9 9 atau ditulis H 1 1 1 / 9
Filter rata-rata berukuran 5x5 adalah:
Contoh 6.1. Perhatikan potongan gambar dalam bentuk matrik berikut ini:
Bila digambarkan adalah sebagai berikut:
Dengan menggunakan filter rata-rata 3x3, maka proses filter dilakukan dengan cara menghitung konvolusi dari kernel filter rata-rata 3x3 dan H, diperoleh:
Y=H F
Bila digambarkan hasil filter rata-rata adalah sebagai berikut:
Hasilnya menunjukkan titik-titik yang berbeda (dianggap sebagai noise) akan dikurangi hingga mendekati nilai-nilai yang dominan. Salah satu efek dari hasil filter ini adalah terjadinya efek blur.
Untuk mengukur kinerja dari filter ini digunakan nilai pengaruh noise terhadap suatu sinyal (dalam hall ini citra adalah sinyal 2 dimensi) yang dinyatakan sebagai nilai SNR (Signal to Noise Ratio), dan dirumuskan dengan:
10 I SNR 10 . log
dimana: I adalah jumlah nilai citra N adalah jumlah nilai noise (citra terkena noise In dikurangi dengan citra I)
Untuk menghitung SNR pada contoh di atas adalah sebagai berikut:
I F ' ( x , y ) 16
xy
dengan dianggap bahwa semua nilai F adalah 1 (seragam), sedangkan nilai yang lain dianggap noise
N Y ( x , y ) F ( x , y )
xy
y 1 14 12 8
Dibandingkan dengan gambar sebelum filter, SNR sebelum filter dapat dihitung dengan: N=5
SNR 10 . log 5 . 05
5 Ada peningkatan SNR setelah dilakukan filter rata-rata, hall ini berarti jumlah noise berkurang.
5.3.6. Reduksi Noise Menggunakan Filter Gaussian
Filter lain yang banyak digunakan dalam mereduksi noise selain filter rata-rata adalah filter gaussian. Filter gaussian ini sebenarnya hampir sama dengan filter rata-rata hanya ada nilai bobot yang tidak rata seperti pada filter rata-rata, tetapi mengikuti fungsi gaussian sebagai berikut:
dimana: s adalah sebaran dari fungsi gaussian (mx,my) adalah titik tengah dari fungsi gaussian
Gambar 5.8 Model Fungsi Gaussian dalam ruang.
Gambar 5.9. Model contour dari filter gaussian.
Berdasarkan rumus dari fungsi gaussian di atas untuk ukuran 3x3 akan diperoleh matrik kernel filter gaussian: 1 1 1
H 1 4 1 / 13 atau H 0 . 077 0 . 308 0 . 077
Kernel filter gaussian untuk ukuran 5x5 adalah: H = 0.0030 0.0133 0.0219 0.0133 0.0030 0.0133 0.0596 0.0983 0.0596 0.0133 0.0219 0.0983 0.1621 0.0983 0.0219 0.0133 0.0596 0.0983 0.0596 0.0133 0.0030 0.0133 0.0219 0.0133 0.0030
Kernel filter gaussian untuk ukuran 7x7 adalah: 0.0013 0.0041 0.0079 0.0099 0.0079 0.0041 0.0013 0.0041 0.0124 0.0241 0.0301 0.0241 0.0124 0.0041 0.0079 0.0241 0.0470 0.0587 0.0470 0.0241 0.0079 0.0099 0.0301 0.0587 0.0733 0.0587 0.0301 0.0099 0.0079 0.0241 0.0470 0.0587 0.0470 0.0241 0.0079 0.0041 0.0124 0.0241 0.0301 0.0241 0.0124 0.0041 0.0013 0.0041 0.0079 0.0099 0.0079 0.0041 0.0013