Secara sederhana edge detection merupakan proses untuk mencari tepi dari suatu objek atau area. Tepi dari suatu objek atau area secara visual dapat di-identifikasikan dengan terjadinya perbedaan warna yang signifikan. Titik – titik piksel dimana terjadinya perbedaan warna yang signifikan akan ditandai sebagai edge (tepi).
Konvolusi
Teknik deteksi tepi yang paling sederhana adalah dengan melakukan konvolusi citra dengan kernel deteksi tepi. Pada ilustrasi dibawah ini, citra di konvolusi dengan kernel 3x3 untuk mendeteksi tepi secara horizontal.
Konvolusi dilakukan pada piksel – piksel citra input tahap per tahap untuk setiap area piksel dengan ukuran yang sama dengan kernel.
Pada contoh gambar diatas, piksel pertama hasil konvolusi adalah perhitungan dari :
P(0,0) = ((a11*1) + (a12*0) + (a13*(-1))+(a21*1)+(a22*0)+(a23*(-1))+(a31*1)+(a32*0)+(a33*(-1)))
Prewitt
Deteksi tepi menggunakan metode Prewitt adalah teknik mendeteksi tepi menggunakan dua kernel yang berbeda, dimana terdiri dari kernel horizontal dan kernel vertical.
Nilai akhir hasil segmentasi dari konvolusi horizontal dan vertical adalah :
Arah gradient (perubahan warna) dapat diperoleh :
Sobel
Sobel edge detection beroperasi mirip dengan Prewitt hanya kernel yang digunakan saja yang berbeda.
Canny
Canny edge detection merupakan improvisasi deteksi tepi menggunakan teknik deteksi tepi sebelumnya, tahapan :
- Lakukan deteksi tepi menggunakan operator deteksi tepi(sobel, prewitt, dll).
- Mencari nilai G terbesar dari arah X dan Y.
- Menyeleksi tepi berdasarkan besar kecilnya nilai G dari hasil deteksi tepi, jikai nilai G dibawah threshold yang ditentukan maka titik tepi tersebut akan dihilangkan.
- Menelusuri konektivitas titik tepi (4 connection, 8 connection), jika titik tepi memiliki keterhubungan yang kecil (tepi terlalu kecil atau pendek) maka titik tersebut akan di-eliminasi.