Pengolahan Citra (TIF05)

Download Report

Transcript Pengolahan Citra (TIF05)

Pengolahan Citra
(TIF05)
Deteksi Tepi / Edge Detection
Segmentasi
• Metode untuk mengubah citra input ke dalam
citra output berdasarkan atribut yang diambil
dari citra
• Tujuan: Membagi wilayah-wilayah yang
homogen
• Membagi citra ke dalam daerah intensitasnya
masing-masing, agar dapat membedakan
antara objek dengan background
Jenis Algoritma Segmentasi Citra
• Diskontinuitas
– Pembagian citra berdasarkan perbedaan dalam
intensitasnya
– Contoh: deteksi titik, deteksi garis, deteksi tepi
• Similaritas
– Pembagian citra berdasarkan kesamaan kriteria
yang dimiliki
– Contoh: thresholding, mean clustering, region
growing, region splitting, region merging
Deteksi Titik
• Mengisolasi suatu titik yang secara signifikan
berbeda dengan titik-titik di sekitarnya.
• Persamaan: 9
Wi Zi
• |R|  T  R  
i 1
• T  tresshold positif; R  nilai persamaan
• Kernel yang dipergunakan:   1  1  1
  1 8  1


  1  1  1
Contoh Deteksi Titik
Deteksi Garis
• Mencocokkan dengan kernel dan
menunjukkan bagian tertentu yang berbeda
secara garis lurus vertikal, horisontal, diagonal
kanan maupun diagonal kiri.
• Persamaan :
|Ri| > |Rj| dimana i  j
Filter-Filter untuk deteksi Garis
Horisontal
vertikal
-1
-1
-1
-1
2
-1
2
2
2
-1
2
-1
-1
-1
-1
-1
2
-1
Diagonal kiri
2
-1
-1
-1
2
-1
-1
-1
2
Diagonal Kanan
-1
-1
2
-1
2
-1
2
-1
-1
Deteksi Tepi
• Tepi Objek  pertemuan antara bagian objek
dan bagian latar belakang
• Indikasi : titik yang nilai keabuannya memiliki
perbedaan cukup besar dengan titik yang ada
disebelahnya.
• Deteksi tepi : menemukan titik yang
perbedaan intensitasnya besar
Deteksi Tepi Berbasis Gradient
• Menghitung selisih dua buah titik yang
bertetangga sehingga didapat gradient citra
• Gradient adalah turunan pertama dari
persamaan dua dimensi yang didefinisikan
dengan vektor sbb:
 f 
 G x   x 
Gf ( x , y)      f 
G y   
 y 
Sifat Gradient
• Besar Gradient sama dengan penambahan
laju maksimum dari fungsi f(x,y) per satuan
jarak dalam arah G
G[f ( x, y)]  G 2x  G 2y
• Vektor G[f(x,y)] menunjukkan arah
penambahan laju maksimum dari fungsi f(x,y)
Sifat Gradient (cont.)
• Untuk kebutuhan pengolahan citra, besar
gradient dapat dicari dengan persamaan
G[f(x,y)] = |Gx|+|Gy|
atau
G[f(x,y)] ≈maks(|Gx|,|Gy|)
• Orientasi arah dapat dihitung dengan
α(x,y)=tan-1(Gy/Gx)
atau
α(x,y)=arctan(Gy/Gx)
Sifat Gradient (cont.)
• Untuk orientasi sudut 0 diartikan bahwa arah
dari kontras maksimum dari hitam ke putih
berjalan dari kiri ke kanan pada gambar,
• Untuk nilai orientasi sudut lain dihitung
berlawanan arah jarum jam dari orietasi ini
Beberapat Operator deteksi tepi
berbasis gradient turunan pertama
• Operator Robert
• Operator Sobel
• Operator Prewitt
Operator Robert
• Operator berbasis gradient
• Menggunakan kernel ukuran 2 X 2
• Mengambil arah diagonal untuk penentuan arah dalam
perhitungan nilai gradient, sehingga dapat ditulis
dengan persamaan
G=|f(x,y)-f(x+1,y+1)|+|f(x+1,y)-f(x+y+1)|
• dimana
Gx=|f(x,y)-f(x+1,y+1)|
Gy=|f(x+1,y)-f(x+y+1)|
• Bila ditulis dalam komponen gradient:
G=|Gx|+|Gy|
Operator Robert (cont.)
• Kernel Gx dan Gy masing-masing sbb:
1 0 
Gx  

0  1
0  1
Gy  

1 0 
• Kedua kernel dikonvolusi pada f(x,y)
Operator Sobel
• Menghindari perhitungan gradient di titik
interpolasi.
• Berdasarkan besaran gradient laplace, besaran
gradient dapat ditulis dengan
M  S2x  S2y
• M adalah besar gradient di titik tengah kernel
• Sx = (a3+ca4+a5)-(a1+ca8+a7)
• Sy = (a1+ca2+a3)-(a7+ca6+a5)
Operator Sobel (cont.)
• c adalah konstanta yang bernilai 2.
• Berdasarkan persamaan tersebut, Sx dan Sy
dapat diaplikasikan dengan kernel sbb:
2 1
1
  1 0 1




0 0
S x    2 0 2 S y   0
  1  2 1
  1 0 1 
Operator Prewitt
• Jika Konstanta c pada Operator Sobel diubah
menjadi 1, maka Operator Sobel akan menjadi
operator Prewitt
• Perbedaan Operator Prewitt dengan Sobel
adalah, Op. Sobel menggunakan pembobotan
pada piksel-piksel yang lebih dekat dengan
titik pusat kernel, sedangkan Op. Prewitt tidak
menekankan pembobotan pada titik tengah
Operator Prewitt (cont.)
• Kernel dari operator Prewitt:
1 1 1
  1 0 1




Sx    1 0 1 S y   0 0 0 
 1  1  1
  1 0 1
Operator Isotropic
• Menggunakan kernel 3 X 3
 1 0
I x    2 0
  1 0
1 
2 
1 
 1  2

Iy   0
0
1
2

 1

0
1 
• Operator ini berfungsi untuk mendeteksi tepi
yang curam
Operator-operator Kompas
• Operator Compass
• Operator Kirsch
• masing-masing kernel di konvolusi dan diambil
nilai terbesar dan dijadikan sebagai nilai baru
dari suatu titik.
• |G| = max(|Gi|:i=1 to n)
Operator Compass
•
•
•
•
•
Menggunakan pola empat mata angin
  1  1  1
CNUtara
C   1  2 1 
 1
1
1 
CSSelatan
1
 1 1 1
CETimur
C  1
C   1  2 1
CWBarat
1
 1 1 1
s
w
E
1
1
1
C N   1  2 1 
  1  1  1
 1
 2  1
1  1
1
Operator Kirsch
• Menggunakan delapan arah mata angin
5
5
5  3
5
5


K 4   5
0  3 K 3    3 0  3
  3  3  3
  3  3  3
 5  3  3
K 5  5 0  3
5  3  3
  3  3  3
K 6   5
0  3
 5
5  3
5
 3 5
K 2    3 0
5 
  3  3  3
  3  3 5
K 1    3 0 5
  3  3 5
  3  3  3
K 7    3 0  3
 5
5
5 
  3  3  3
K 8    3 0
5 
  3 5
5 
Deteksi Tepi Berbasis Turunan Kedua
• Bila suatu nilai batas dikenakan pada fungsi turunan
pertama, maka piksel dengan intensitas di atas nilai
batas akan digolongkan menjadi piksel-piksel tepi.
• Tinggi rendahnya nilai batas yang digunakan
menentukan tebal tipisnya garis tepi yang didapat.
• Pada turunan kedua, titik puncak pada turunan
pertama akan bersesuaian dengan titik perpotongan
fungsi dengan sumbu x.
• perpotongan antara fungsi dengan sumbu x satu titik
saja, maka ketebalan garis tepi yang didapatkan
hanya satu titik ideal
Operator laplacian
• Titik-titik tepi dilacak dengan cara
menemukan titik perpotongan dengan sumbu
x oleh turunan kedua  sehingga sering di
sebut sebagai zero crossing operator
• Sangat sensitif terhadap noise yang terletak
pada titik-titik tepi.  dapat diatasi dengan
Laplacian of Gaussian yang merupakan
kombinasi dari operator laplacian dengan
operator gaussian
Persamaan Laplacian
• Persamaan Laplacian
2
2

f

f
 2 f ( x , y)  2  2
x
y
• dimana
 2f
G 2

 f ( x  2, y)  2f ( x  1, y)  f ( x, y)
2
x
x
 2f
G 2

 f (x, y  2)  2f (x, y  1)  f (x, y)
2
y
y
Ilustrasi Zero Crossing
Sumber: http://euclid.ii.metu.edu.tr/~ion528/demo/lectures/6/3/
Persamaan laplacian
• Persamaan pada masing-masing sumbu tsb
menyebabkan titik pusat bergeser di (x+1,y)
dan (x,y+1) karena itu agar tetap di titik (x,y)
pada masing-masing persamaan tersebut x
diganti dengan x-1 dan y di ganti dengan y-1
 2f
G 2

 f ( x  1, y)  2f ( x, y)  f ( x  1, y)
2
x
x
 2f
G 2

 f (x, y )  2f (x, y)  f (x, y  1)
2
y
y
Persamaan laplacian
• Dengan demikian diperoleh
  2f  2f 
  f ( x, y)   2  2 
y 
 x
2
  2f (x, y)  4f (x, y)  [f (x  1, y)  f (x  1, y)  f (x, y  1)  f (x, y  1)]
• Terlepas dari tandanya yang negatif atau
positif, bila diimplementasikan dalam bentuk
kernel:
0 1 0 
 1  4 1


0 1 0 
 0 1 0 
  1 4  1


 0  1 0 
Kernel Laplacian lain
• Dengan memberikan bobot yang lebih besar
pada titik pusat, didapatkan beberapa kernel
lainnya
  1  1  1
  1 8  1


  1  1  1
  2 1  2
1 4 1


  2 1  2
4
1
1
4  20 4


1
4
1
Kernel Laplacian of Gaussian
• Dapat dilakukan dengan cara:
• Sebuah citra di konvolusi dengan operator
gaussian, kemudian hasilnya di konvolusi
dengan operator laplacian
• Di konvolusi langsung dengan menggunakan
operator Laplacian of Gaussian
Operator Laplacian of Gaussian
• Operator Laplacian of Gaussian diperoleh dari
konvolusi sbb:
2
h(x, y)   [g(x, y) * f (x, y)]
2
h(x, y)   [g(x, y)]* f (x, y)
• Dimana:
 x  y  2
 [g( x, y)]  
4


2
2
2
2

e

x 2  y2
2 2
Ilustrasi Operator Laplacian of Gaussian
Ref: http://euclid.ii.metu.edu.tr/~ion528/demo/lectures/6/3/index.html