Kenar olarak nitelendirilen bölgeler görüntüdeki renk değerlerinin yüksek hızda azaldığı ve düştüğü noktalardır. Bu noktalardaki değişimin hızlı olması yatay ve dikey olarak farkların kareleri toplamından bulunabilmektedir.
Yatay veya dikey kenarları tespit ederken fark işlemine karşılık gelen bir konvolusyon kullanılır. Fark işlemi yapılmasının sebebi ayrık zamanda işlemler yaptığımızdan bunun matematiksel karşılığının türev olmasıdır.
Yatay ve dikeyde kullanılan işlemlerin matrissel ifadeleri
olmaktadır.
Kenar işlemi bir çizgi üstündeki değişimlere hassas olduğundan dolayı fark işlemleriyle hızla olan değişimlerin performans üzerinde etkileri fazladır. Bu nedenle gürültülü resimlerde sonuçlar iyi olmamaktadır. Kenar tespiti için bu nedenle öncelikle resimde yumuşatma ve gürültü giderme işlemleri uygulanmaktadır.
Gürültü giderme ve türev alma işlemleri 2D matrislerde bir arada yapılabilmektedir. Burada kullanılan operatörler kenar tespitinde iyi sonuçlar vermektedir.
Yukarıda görüldüğü gibi yatay ve dikey eksende farklı amaçlarda bu maske kullanılabilmektedir. Dikey kenar tespiti ve yatayda yumuşatma işlemi uygulanmıştır.
Sobel operatörü bu amaçla yaygın olarak kullanılmaktadır. Bu operatörün nasıl çalıştığı aşağıdaki şekilde açıklanmıştır.
Burada görüldüğü gibi Sobel operatörü yatay ve dikey olarak uygulanmaktadır. Bunun sonucunda resimdeki kenarlar tespit edilmiştir.
Kenar tespiti bu tarz pencere operatörleri yardımıyla yapılmaktadır. Burada kenar tespiti sırasında önemli olan 3 noktaya değinmekte yarar var.
· Gürültü giderme: Gürültüye hassas türev operasyonu uygulandığından ötürü kenarları doğru tespit etmek adına mümkün olduğunca gürültüden arındırmak önemlidir.
· Kenar maxima noktalarının tespiti: Burada amaçlanan kenar olabilecek noktaların tespit edilmesidir. Daha sonra buradaki noktalardan tam bir kenar hattı elde edilebilecektir. Kullanılan kernelin boyutuna ve yumuşatma, fark için kullanılan katsayılara bağlı olarak farklı kenar tespiti maskeleri kullanılabilmektedir.
· Kenar belirleme: Maskeler yardımıyla bulunan kenar olabilecek noktalar üstünde işlemler uygulanarak gerçek kenar doğrularının bulunması amaçlanmaktadır. Burada inceltme işlemi veya thresholding ile belli eşik değeleri ile hatalı kenar bölgelerinin ayrılması amaçlanmaktadır.
Canny Edge Detection
Canny edge detection en başarılı ve sıklıkla kullanılan kenar tespiti yöntemlerinden biridir. Kullanılan operatörün sürekli zamanda gaussun birinci türevi biçiminde olduğu görülmektedir. Gauss fonksiyonları sahip oldukları özelliklerden ötürü görüntü işlemede sıklıkla kullanılmaktadır.
Canny algoritması dikey ve yatay eksende türev yapmaktadır. Buradan çıkan gradientlerin kareleri toplamı bize gri seviyede kenarları ortaya çıkarmaktadır. Thresholding yardımıyla bu değerler istenen sınıra çekilmektedir. Bu aşamada kullanılan sonucun daha verimli olmasını sağlayan histerisiz thresholding ve linking yöntemleri de beraberinde kullanılmaktadır.
Histerisiz thresholdingde alt ve üst eşik değerleri belirlenmektedir. Bu değerler arasındaki noktalar kenar noktaları olarak belirlenmektedir. Bu sınırların dışından kalan noktalarda ise komşu olduğu noktalara bakılarak eğer kenar olarak tespit edilmiş bir noktaya bağlantılı olup olmadığına bakılmaktadır. Böyle bir durumda bu noktada bizim için kenar olmaktadır.
Kenar tespiti sırasında kullanılan bir diğer işlem ise thinning işlemidir. Burada kenar olarak belirtilen noktalar tek bir eğri olarak indirgenmeye çalışılmaktadır. Bunun için eğrinin üzerindeki normal vektörleri boyunca olan fazla noktalar ortadan kaldırılmaktadır.