pengolahan citra - 05 filtering
TRANSCRIPT
![Page 2: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/2.jpg)
Filtering
• Filtering meloloskan (menerima) komponen dengan frekwensi tertentu dan menghilangkan (menolak) komponen dengan frekwensi yang lain
• Diperlukan sebuah filter g(x,y) berupa matriks berukuran n x n, (umumnya 3x3) yang tiap-tiap sel-sel nya berisi bobot filtering. Ada yang menyebutnya sebagai filter, mask, kernel, ataupun window
• Setiap titik (x,y) pada citra f(x,y) di filter dengan filter g(x,y) menghasilkan h(x,y)
• h(x,y) hasil filtering pada titik (x,y)
![Page 3: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/3.jpg)
Area Lokal - Titik yang diproses dan tetangganya
(x-1, y-1) (x,y-1) (x+1,y-1)
(x-1,y) (x,y) (x+1,y)
(x-1,y+1) (x,y+1) (x+1,y+1)
![Page 4: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/4.jpg)
Mekanisme Filtering Spasial
• Letakkan filter g(x,y) mulai dari titik (x-1, y-1) dari titik (x,y) yang akan dilakukan filtering.
• Hitung h(x,y) berdasarkan sel-sel pada titik tersebut dan titik-titik tetangganya dengan bobot pada sel-sel matriks filter g(x,y) sesuai dengan posisi sel-selnya.
• Secara umum persamaannya adalah:h(x,y) = wo.f(x,y) + w1.f(x-1,y-1) + w2.f(x,y-1) +
w3.f(x+1,y-1) + w4.f(x+1,y) + w5.f(x+1,y+1) + w6.f(x,y+1) + w7.f(x-1,y+1) + w8.f(x-1,y)
• Filtering dilakukan mulai dari sudut atas matriks sampai sudut bawah matriks
![Page 5: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/5.jpg)
Jenis-jenis Filtering
• Filter Spasial Linier– Bekerja dengan cara korelasi atau konvolusi– Contoh: filter rata-rata, filter gaussian– Memerlukan matriks mask/kernel
• Filter Spasial Non Linier (order-statistics fitlers)– Respon berdasarkan pengurutan intensitas piksel-
piksel tetangga– Contoh: filter maksimum, filter minimum, filter rata-
rata, filter median,
![Page 6: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/6.jpg)
Filter Spasial Non Linier
• Filtering dengan meloloskan suatu nilai yang didapatkan dari proses non linear.
• Beberapa contoh yang didapat dari operasi statistik– Mean Filtering mengganti nilai sel bitmap dengan nilai rata-
rata dari area lokal.– Minimum Filtering mengganti nilai sel bitmap dengan nilai
terkecil dari area lokal.– Maximum Filtering mengganti nilai sel bitmap dengan nilai
terbesar dari area lokal.– Mid-Point Filtering mengganti nilai sel bitmap dengan nilai
tengah diantara nilai terkecil dan terbesar dari area lokal.– Median Filtering mengganti nilai sel bitmap dengan nilai
median dari area lokal yang sudah disort.• Merupakan Operasi tingkat lokal
![Page 7: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/7.jpg)
Contoh Filter Spasial NonLinierminimum filtering
![Page 8: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/8.jpg)
Contoh Filter Spasial NonLiniermaximum filtering
![Page 9: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/9.jpg)
Contoh Filter Spasial NonLiniermid-point filtering
![Page 10: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/10.jpg)
Contoh Filter Spasial NonLiniermedian filtering
![Page 11: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/11.jpg)
Filtering Spasial Linear
• Filtering yang dilakukan dengan operasi linear berupa konvolusi atau korelasi antara Area lokal suatu sel bitmap dengan kernel
• Merupakan operasi tingkat lokal
![Page 12: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/12.jpg)
Kernel / Mask / Penapis / Window
• Berupa matriks 2x2, 3x3, 4x4, 5x5, dsb.• Mempunyai sel pusat, dimana sel bitmap yang
akan diproses terdapat pada sel tersebut– Contoh pada matriks 3x3 pusatnya adalah sel (2,2);
pada matriks 5x5 pusatnya adalah sel (3,3)
• Untuk matriks dengan ordo genap pemilihan sel pusat dilakukan dengan melakukan pembulatan ke bawah dari n/2 untuk kolom dan m/2 untuk baris– Contoh pada matriks 2x2 sebagai pusat adalah sel
(1,1), pada matriks 4x4, pusatnya adalah sel (6,2).
![Page 13: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/13.jpg)
Matriks Filter g(x,y) 3x3
w1 w2 w3
w8 w0 w4
w7 w6 w5
![Page 14: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/14.jpg)
Korelasi dan Konvolusi
• Korelasi: Perkalian antara dua fungsi f(x,y) dan g(x,y)
• Konvolusi:Perkalian antara dua fungsi f(x,y) dan g(x,y)
Dimana fungsi g(x,y) konvolusi berkebalikan dengan g(x,y) pada korelasi
• Dipergunakan untuk melakukan pemfilteran spasial linier dengan melakukan korelasi ataupun konvolusi kedua fungsi f(x,y) dan g(x,y)
![Page 15: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/15.jpg)
Persamaan Korelasi
• x, y, k, l variabel bebas yang memiliki nilai diskrit, dimana x dan y adalah koordinat piksel yang sedang diolah, k dan l adalah koordinat dari piksel dalam suatu area lokal yang memperngaruhi hasil h(x,y)
• h(x,y) hasil pada koordinat x,y• f(x,y) fungsi f yang mengolah piksel x,y berikut tetangganya• g(x,y) fungsi filter untuk mengolah piksel x,y• M, N batas titik tetangga yang mempengaruhi titik yang sedang
diolah
N
l
M
k
lykxglkfyxgyxfyxh11
),().,(),(),(),(
![Page 16: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/16.jpg)
Contoh Kernel Korelasi antara Bitmap dan kernel
![Page 17: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/17.jpg)
Contoh Implementasi Korelasi.
.
.
for y = 1 to tinggiBitmap do
for x = 1 to lebarBitmap do
hasilBitmap[x,y] = korelasi(x, y, m, n).
.
.
• x, y koordinat bitmap yang sedang diproses• m lebar kernel• n tinggi kernel
![Page 18: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/18.jpg)
Contoh 1.a
Algoritma Function Korelasi(untuk kernel 3 X 3)
function korelasi(x, y):integer;begin hasil = 0; for l=1 to 3 do for k=1 to 3 do hasil = hasil + g[k,l] * f[x+(k-3+1),y+(l-3+1)];
return hasil;end;
g kernelf bitmap
![Page 19: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/19.jpg)
Contoh 1.b
Algoritma Function Korelasi(untuk kernel m X n)
function korelasi(x, y, m, n):integer;begin hasil = 0; for l=1 to n do for k=1 to m do hasil = hasil + g[k,l] * f[x+Ht+(k-m+Ht),y+Vt+(l-n+Vt)];
return hasil;end;
g kernelf bitmapHt Round(m/2); Vt Round(n/2)
![Page 20: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/20.jpg)
Contoh 2Algoritma Function Korelasi
function korelasi(x, y, m, n):integer;begin hasil = 0; for l=-(round(n/2)) to round(n/2) do for k=-(round(m/2)) to round(m/2) do hasil = hasil + g[k,l] * f[x+k,y+l]; return hasil;end;
g kernelf bitmap
![Page 21: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/21.jpg)
Contoh Kernel Konvolusi antara Bitmap dan kernel
![Page 22: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/22.jpg)
Contoh Implementasi Konvolusi...
for y = 1 to tinggi do for x = 1 to lebar do hasilBitmap[x,y] = konvolusi(x, y, m, n)...
• x, y koordinat bitmap yang sedang diproses• m lebar kernel• n tinggi kernel
![Page 23: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/23.jpg)
Contoh 1.a
Algoritma Function Konvolusi(untuk kernel 3 X 3)
function konvolusi(x, y):integer;begin hasil = 0; for l=1 to 3 do for k=1 to 3 do hasil = hasil + g[k,l] * f[x-(k-3+1),y-(l-3+1)]; return hasil;end;
g kernelf bitmap
![Page 24: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/24.jpg)
Contoh 1.b
Algoritma Function Konvolusi(untuk kernel m X n)
function konvolusi(x, y, m, n):integer;begin hasil = 0; for l=1 to n do for k=1 to m do hasil = hasil + g[k,l] * f[x+Ht-(k-m+Ht),y+Vt-(l-n+Vt)]; return hasil;end;
g kernelf bitmapHt Round(m/2); Vt Round(n/2)
![Page 25: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/25.jpg)
Contoh 2Algoritma Function Konvolusi
function konvolusi(x, y, m, n):integer;begin hasil = 0; for l=-(round(n/2)) to round(n/2) do for k=-(round(m/2)) to round(m/2) do hasil = hasil + g[k,l] * f[x-k,y-l]; return hasil;end;
g kernelf bitmap
![Page 26: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/26.jpg)
Beberapa pendapat mengenai piksel tepi
• Hanya dilakukan pada semua piksel yang berjarak tidak kurang dari (n-1)/2 piksel dari tepi citra
• Jumlah piksel tetangga yang dilibatkan dalam perhitungan tidak harus lengkap
• Menambah baris dan kolom berisi 0 atau konstanta tertentu pada citra
• Mereplikasi baris dan kolom
![Page 27: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/27.jpg)
Filter Rata-rata (Filter Spasial Linier)
• Sebagai penghalusan (smoothing)
• Nilai intensitas setiap pixel diganti dengan rata-rata nilai piksel ybs dengan tetangganya
• Mengaburkan (blurring) citra untuk mereduksi noise
• Blurring akan menghilangkan detail kecil dari suatu citra sebelum dilakukan ekstraksi objek dan dapat Menghubungkan celah kecil yang memisahkan garis atau kurva
• Filter rata-rata pada Filter Linier sama dengan Filter rata-rata pada Filter Non Linier
nymxnm
yxg 1,1,.
1),(
111
111
111
9
1),( yxg
11111
11111
11111
11111
11111
25
1),( yxg
![Page 28: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/28.jpg)
Contoh hasil filtering dengan filter rata-rata
![Page 29: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/29.jpg)
Filter High Pass (Filter Spasial Linier)
• Menahan nilai intensitas yang tinggi dan mengurangi nilai dengan intensitas yang rendah sehingga menghasilkan efek sharpenning
• Kernel di rancang untuk menambah kecerahan suatu piksel berdasarkan dari nilai-nilai tetangganya.
• Kernel mempunyai perbedaan sel pusat dengan tetangga-tetangganya yang sangat besar, dengan sel pusat adalah yang mempunyai nilai tertingginya.
• Kernel FHP biasanya berupa sebuah nilai positif di pusat kernel, dan dikelilingi dengan nilai negatif pada tetangga-tetangganya.
• (ref: idlastro.gsfc.nasa.gov/idl_html_help/Filtering_an_Imagea.html)
![Page 30: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/30.jpg)
Beberapa Contoh kernel High Pass Filtering
9/19/19/1
9/19/89/1
9/19/19/1
04/10
4/124/1
04/10
111
181
111
111
191
111
![Page 31: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/31.jpg)
Contoh High Filtering dengan total koefesien = 1
![Page 32: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/32.jpg)
Contoh High Filtering dengan total koefesien = 0
![Page 33: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/33.jpg)
Low Pass Filtering (Filter Spasial Linier)
• Menghasilkan efek blurfing atau smoothing• Filter rata-rata adalah sederhana dari low pass filtering.• Filter Gaussian merupakan salah satu varian dari Low Pass Filtering• Contoh lain dari Low Pass Filter yang menghasilkan efek smoothing
yang lebih halus dengan efek blurring yang lebih sedikit adalah:
08/10
8/12/18/1
08/10
![Page 34: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/34.jpg)
Contoh Low Pass Filtering
![Page 35: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/35.jpg)
Filter Gaussian (Filter Spasial Linier)
• Nilai intensitas setiap piksel diganti dengan rata-rata dari nilai pembobotan untuk setiap piksel-piksel tetangganya dan piksel itu sendiri.
• Filter harus dirancang terlebih dahulu, dengan berdasarkan pada ordo matriks dan nilai standart deviasi ².
• Dengan efek kurva yang dihasilkan, maka akan didapat efek smoothing pada citra yang diproses
• Semakin besar nilai standart deviasi ², maka semakin halus pula efek yang dihasilkan dari pemfilteran menggunakan Filter yang dihasilkan
![Page 36: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/36.jpg)
Fungsi Gaussian
![Page 37: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/37.jpg)
Persamaan-persamaan pada Gaussian
• Fungsi zero mean Gaussian dua variabelg(x,y)= ℯ-(x²+y²)/(2. ²)
Untuk mengisi elemen-elemen pada matriks kernel gaussian
• Distribusi diskrit gaussiang(x,y) =c. ℯ-(x²+y²)/(2. ²)
nilai c yang dihasilkan dikalikan dengan masing-masing bobot nilai, sehingga menghasilkan matriks filter gaussian.
• ℯ Adalah konstanta euler dengan nilai 2.718281828
![Page 38: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/38.jpg)
Merancang Gaussian Filter
• Cari g(x,y)/c= ℯ-(x²+y²)/(2. ²), tempatkan pada sebuah matriks m x n
• Cari nilai terkecil dari matriks m x n yang didapat• Cari koefesien c dengan cara membagi 1
dengan nilai terkecil g(x,y)• Cari g(x,y) dengan koefesien c yang berhasil
didapat• Cari jumlah g(x,y) sebagai pembagi• Masukkan jumlah g(x,y) sebagai pembagi
matriks filter yang berhasil didapat.
![Page 39: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/39.jpg)
Contoh Merancang Kernel Gaussian
• Misalkan akan dicari matriks kernel 7 x 7, dengan diketahui standart deviasi 2
adalah 3.
Maka:• ℯ = 2.7182818282=3 2.2= 2.3 = 6
![Page 40: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/40.jpg)
![Page 41: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/41.jpg)
![Page 42: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/42.jpg)
![Page 43: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/43.jpg)
![Page 44: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/44.jpg)
Filter Gaussian Citra True-Color2=1; a.normal b.kernel 3x3 c.kernel 5x5 d. kernel 7x7
![Page 45: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/45.jpg)
Filter Gaussian Citra Grayscale2=1; a.normal b.kernel 3x3 c.kernel 5x5 d. kernel 7x7
![Page 46: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/46.jpg)
Filter Gaussian Citra True-Color2=3; a.normal b.kernel 3x3 c.kernel 5x5 d. kernel 7x7
![Page 47: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/47.jpg)
Filter Gaussian Citra Grayscale2=3; a.normal b.kernel 3x3 c.kernel 5x5 d. kernel 7x7
![Page 48: Pengolahan Citra - 05 Filtering](https://reader036.vdokumen.com/reader036/viewer/2022081718/557201e14979599169a28666/html5/thumbnails/48.jpg)
Filter Gaussian2=1; a.normal b.kernel 3x3 c.kernel 5x5 d. kernel 7x7