EmguCV Uzaysal Filtreleme (Spatial Domain)

Çağlar GÜL
Çağlar GÜL | Blog
5 min readMar 17, 2020

Uzaysal boyutta filtreleme işlemi için, filtrelenecek görüntü bir alt görüntü ile işleme tabi tutulur. Alt görüntü orjinal görüntü üzerine yerleştirilir ve adım adım görüntü üzerinde gezdirilir. Orjinal görüntü ve alt görüntünün (filtre yada maske) ilişkili pikselleri işleme tabi tutulur. Filtrelerin elemanları sabit katsayılardır. Piksel değeri değildir. Bu filtreler genelde tek rakamla ifade edilirler. Örneğim 3x3, 5x5 gibi..

Uzaysal filtrelemenin çalışma yöntemi şekilde görüldüğü gibidir. Maskenin nokta nokta görüntü üzerinde gezdirilmesiyle filtreleme işlemi gerçekleştirilir.

Örneğin, lineer filtreleme yapılıyorsa, maskenin katsayılarının ilişkili olduğu görüntüdeki piksellerin kaysayılarla çarpımının toplamı filtrenin cevabını verir.

MxN boyutlardaki bir görüntünün mxn boyutlarındaki bir maske ile filtrelenmesi aşağıdaki formüle göre gerçekleştirilir.

Burada; a = (m-1 )/ 2 ve b = (n-1) / 2 olacaktır. Bu maske görüntünün tüm satır ve sütunlarına uygulanır.

Konvolüsyon Matrisi

Yukarıdaki denklemde verilen lineer filtreleme işlemi frekans boyutunda konvolüston işlemidir. Bundan dolayı lineer uzamsal filtreleme görüntü ile maskenin konvolüsyonu olarak bilinir.

Konvolüsyon işlemi görüntü işlemede kare bir resim üzerinde kare bir maskenin sol üst köşeden başlanarak, maskenin merkezi her bir pixel üzerinden geçecek şekilde bütün resmin taranması işlemidir. Bu tarama işlemi sırasında maske içerisinde kalan her bir pixel maskenin katsayıları ile çarpılıp bu çarpımların toplamı, yeni resimde maskenin merkezinin geldiği konuma yazılır. Bu işlem aşağıdaki resimde gösterildiği gibidir.

Dikkat Edilecek Hususlar;

Bir görüntünün komşulukları üzerinde filtreleme yaparken, maskenin merkez noktası görüntü dışına taşabilir. Bu problemin iki temel yöntemi vardır.

  • Maskenin merkez noktası, en fazla maske boyutlarının yarısı değerinde görüntü kenarına yaklaşabilir. Örneğin 3x3 boyutunda bir maske görüntünün kenarından 1 piksel uzak olmalıdır. Bu yöntemle elde edilen görüntünün boyutları orjinal görüntü boyutlarından küçük olur.
  • İkinci yol ise, görüntünün üst-alt satırları ve sol-sağ sütunları kopyalanarak görüntü genişletilir. Bu işleme padding denir. Böylece maske merkez noktası taşmamış olur. İşlem bittikten sonra eklenen satır ve sütünlar görüntüden kaldırılır.

Uzaysal Filtreler temel olarak 2'ye ayrılır.

  1. Yumuşatma (Smoothing) Filtreleri
    -
    Ortalama (Averaging) Filtre
    - Medyan Filtre
    - Gaussian Filtre
  2. Keskinleştirme Filtreleri
    -
    Laplasyan Filtresi (2. Dereceden Türev)
    - Sobel Filtresi (1.Dereceden Türev)

1. YUMUŞATMA FİLTRELERİ

Bulanıklaştırma (blurring) ve gürültü azaltmada kullanılır. Bulanıklaştırma görüntüden küçük detayların giderilmesi ve çizgi yada eğriler arasındaki boşlukları gidermek için kullanılır.

Ortalama (Averaging) Filtre

Görüntü normalize edilmiş bir kutu filtresi ile konvolüsyon yapılır. Sadece çekirdek alanı altındaki tüm piksellerin ortalamasını alır ve merkezi unsuru değiştirir. Bu işlem Blur veya BoxFilter filtreleri ile yapılır.

Çekirdeğin genişliğini ve yüksekliğini belirtmeliyiz. 3x3 normalize edilmiş bir kutu filtresi aşağıdaki gibi görünür.

NOT: Normalleştirilen kutu filtresi kullanmak istemiyorsanız, BoxFilter (Kutu Filtresi) kullanın.

Gaussian Filtre

Verilen bir resim üzerinde düzleştirme işlemi uygulamak için kullanılır. Diğer bir tabirle resim üzerindeki gürültüyü kaldırır.

Gauss Filitresinin genel formülü aşağıda verilmiştir:

Bu formülün 2 boyutlu resimler için sadeleştirilmiş hali (N=2 için) aşağıda verilmiştir:

Gauss dağılımının (aynı zamanda normal dağılım olarak da adlandırılır) standart sapma değerini bulmada yardımcı olur. Gauss filtresi standart sapmaya göre pikselleri yumuşatır. Gaussian filtreleme aynı zamanda bir fourier dönüşümüdür. Gauss Yumuşatmasının Avantajları: Filtreleme önce yatay ardından çıkan sonuçla düşey eksende gerçekleştirilebilir.

Medyan Filtre

Bu filtreleme yönteminde, orjinal sıralanmış piksel komşularının arasındaki ortanca değer ile değiştirilir. Bunun ağırlıklı ortalama filtrelerinden farkı şudur: Ağırlıklı ortalama filtrelerinde, komşuların ağırlıklı ortalaması alınır, hesaplanan bu değer orijinal piksel ile yeniden ortalanarak sonuç bulunur. Ortanca filtresinde ise, komşuluk değerleri önce sıraya konulur, sonra ortadaki değer alınır. Bu değer doğrudan sonuç kabul edilir. Ortanca değeri net elde edebilmek için genellikle tek sayıda komşu seçilir. Eğer hesaplamada çift sayıda komşu kullanılırsa, bu durumda ortada kalan iki pikselin aritmetik ortalaması kullanılır.

Ortanca filtre; Uzaysal çözünürlüğü bozmadan, kopuk (bağımsız) nokta veya çizgi gürültülerini temizlemek için kullanışlıdır. Bu nedenle ikili (binary) gürültülerde başarılı olmasına rağmen Gaussian gürültüsünde kullanışlı değildir. Gürültü piksellerinin sayısı komşu piksellerin yarısına eşit veya daha fazla ise bu filtre pek başarılı çalışmaz.

UYGULAMA 1 : Avarage, Gaussian ve Medyan Filtreleri

2. KESKİNLEŞTİRME FİLTRELERİ

Keskinleştirme işlemlerinde türev fonksiyonu kullanılır. Türev görüntüdeki kenarlar ve aynı zamanda gürültüleri belirginleştirir.

Laplasyan (Laplacian) Filtresi

Laplas filitresi bastiçe bir resimdeki kenar hatlarını belirlemek için kullanılır. Burada kenar ile kastedilen objeleri genelde arka plandan ayıran keskin renk ayrılıklarıdır.

Laplas lineer bir operatördür ve 2.dereceden türevi temsil etmektedir.

Denklem tekrar düzenlenirse;

Bu eşitliğe göre bir maske oluşturulursa; aşağıda soldaki matris gibi olacaktır. Eğer köşegen değerlerde kullanılacak ise bu durumda oluşturulan maske sağdaki matris gibi olacaktır.

Köşegen değerler eklendiğinde her bir değer için -2 f (x,y) ifadesi geleceğinden merkez noktasının katsayısı -8 olacaktır.

Bir resme laplas filtresi uyguladığımızda ikinci türev olduğu için fonksiyonun konvekslikten konkavlığa geçtiği noktayı bize verecektir. Bunun anlamı sınırları ön plana çıkartacaktır.

Görüntü iyileştirme için sadece laplas filtresi uygulamak yeterli değildir. Orjinal resimden, laplas filresi uygulanmış resim çıkartılarak görüntü iyileştirme tamamlanmış olur.

Köşegenlere sahip maskeler biraz daha keskin sonuçlar verirler.

Sobel Filtresi (Gradyan Operatör)

1. Türev matematikte bir fonksiyonun maksimum ve minimum noktalarını verir. Görüntü işlemede Gradyan operatörü sobel filtresini ifade eder ve görüntünün piksellerinin maksimum ve minimum noktalarını ön plana çıkartır. Sobel fitresi eğimin büyüklüğünü kullanarak filtreleme yapar.

Roberts çapraz-eğimoperatörleri, 2x2;

Sobel maskesi genellikle kenar bulma işlemlerinde kullanılır. Buradaki 2 katsayısı yumuşatmayı başarabilmek içindir.

UYGULAMA 2 : Laplasyan ve Gradyan (Sobel) Filtreleri

--

--

Çağlar GÜL
Çağlar GÜL | Blog

elektrik-elektonik mühendisi | yazılıma ve tasarıma meraklı | araştırmayı ve paylaşmayı seven | blogger ve oyun sevdalısı