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
Gf ( 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
CNUtara
C 1 2 1
1
1
1
CSSelatan
1
1 1 1
CETimur
C 1
C 1 2 1
CWBarat
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