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: |R| T T tresshold positif; R nilai persamaan Kernel yang dipergunakan:
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 2 -1 2 Diagonal kiri Diagonal Kanan -1 2 2 -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:
Sifat Gradient Besar Gradient sama dengan penambahan laju maksimum dari fungsi f(x,y) per satuan jarak dalam arah G 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) α(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: 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 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:
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:
Operator Isotropic Menggunakan kernel 3 X 3 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 CNUtara CSSelatan CETimur CWBarat
Operator Kirsch Menggunakan delapan arah mata angin
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 dimana
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
Persamaan laplacian Dengan demikian diperoleh Terlepas dari tandanya yang negatif atau positif, bila diimplementasikan dalam bentuk kernel:
Kernel Laplacian lain Dengan memberikan bobot yang lebih besar pada titik pusat, didapatkan beberapa kernel lainnya
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: Dimana:
Ilustrasi Operator Laplacian of Gaussian Ref: http://euclid.ii.metu.edu.tr/~ion528/demo/lectures/6/3/index.html