Bilgisayarlı Görü

Morfolojik İşlemler

Dr. Öğr. Üyesi Oğuz Emre Kural

2026

Morfolojik İşlemler

  • Morfolojik işlemler, genellikle binary görüntü üzerinde uygulanan şekle bağlı işlemlerdir.
  • Tüm morfolojik işlemler temelde iki bileşene ihtiyaç duyar
    • Binary görüntü
    • Yapısal çekirdek (görüntü üzerinde kaydırmak için)
  • Morfolojik işlemleri aşağıdaki amaçlar için kullanabiliriz.
    • Nesnelerin boyutunu arttırmak veya azaltmak,
    • Nesneler arasındaki boşlukları kapatmak veya açmak

Morfolojik İşlem Türleri

  1. Erosion (Aşındırma)
    → Nesneleri küçültür, ince kenarları yok eder

  2. Dilation (Genleşme)
    → Nesneleri büyütür, boşlukları kapatır

  3. Opening (Açma) = Erosion → Dilation
    → Gürültü temizleme

  4. Closing (Kapama) = Dilation → Erosion
    → Boşluk kapatma, kontur tamamlama

  5. Boundary Extraction, Gradient, Top-Hat, Black-Hat
    → Daha ileri seviye işlemler

Matematiksel Temeller: Neden “Morfoloji”?

  • Morfolojik işlemler sadece sezgisel değildir; matematiksel olarak sağlam temellere dayanır.
  • Bu temeller Küme Teorisi ve Tam Kafes (Complete Lattice) teorisinden gelir.
  • Bu teorik altyapı, işlemleri ikili (siyah-beyaz) görüntülerden gri seviye ve hatta renkli görüntülere genelleştirmemizi sağlar.
  • Temelde, pikseller arasındaki ilişkileri bir küme yapısı içinde inceleriz.

Temel Kavram: Tam Kafesler (Complete Lattices)

Morfolojik operatörlerin üzerinde tanımlandığı özel bir matematiksel yapıdır.

En temel özelliği, bir piksel komşuluğu (alt küme) için her zaman bir en küçük üst sınır ve en büyük alt sınır bulmayı garanti etmesidir.

  • Infimum (En Büyük Alt Sınır): Bir komşuluktaki tüm piksel değerlerinden küçük veya onlara eşit olan en büyük değerdir.
    • İkili görüntüde: MANTIKSAL AND işlemine denktir.
    • Gri seviye görüntüde: Lokal MİNİMUM değerini bulmaktır.
  • Supremum (En Küçük Üst Sınır): Bir komşuluktaki tüm piksel değerlerinden büyük veya onlara eşit olan en küçük değerdir.
    • İkili görüntüde: MANTIKSAL OR işlemine denktir.
    • Gri seviye görüntüde: Lokal MAKSİMUM değerini bulmaktır.

Yapısal Eleman (Kernel): Morfolojinin Probu

  • Morfolojik operasyonların ikinci temel girdisidir. Görüntü üzerinde kaydırılarak piksellerin komşuluk ilişkilerini “sorgulayan” küçük bir maskedir.
  • İşlemin yerel geometrik etkisini belirler. Yani, bir pikselin yeni değerinin nasıl hesaplanacağını tanımlar.
  • Çapa Noktası (Anchor Point): Kernelin genellikle merkezinde bulunan referans noktasıdır. Operasyonun sonucu, kernelin çapa noktasının denk geldiği piksele yazılır.

Kernel Şekilleri ve Önemi

Kernel’in şekli, operasyonun hangi geometrik özellikleri hedef alacağını doğrudan etkiler. Seçim, çözülmek istenen probleme göre yapılır.

1. Dikdörtgen (MORPH_RECT)

\[ \begin{bmatrix} 1 & 1 & 1 \\\\ 1 & 1 & 1 \\\\ 1 & 1 & 1 \end{bmatrix} \]

  • Tüm komşulukları eşit kabul eder.
  • Genel amaçlı, yöne bağımlı olmayan (izotropik) işlemler için idealdir.

Gerçek Dünya Kullanım Alanları

1) Endüstriyel Kalite Kontrol - Metal yüzey, PCB, tekstil ürünlerindeki delik/çizik/defekt tespiti. - Defekt yapıları yönsüz olduğundan rect kernel idealdir.

2) Doküman Analizi (OCR) - Harf içi boşluk kapatma, yazı birleştirme/ayırma. - El yazısı temizleme ve segmentasyon öncesi gürültü azaltma.

3) Harita / Uydu Görüntüleri - Bulut lekesi, gölge gürültüsü gibi yönsüz bölgeleri temizleme.

4) Medikal Görüntüleme - Lezyon/tümör maskelerinde başlangıç temizliği, gürültü baskılama.

2. Çapraz / Artı (MORPH_CROSS)

\[ \begin{bmatrix} 0 & 1 & 0 \\\\ 1 & 1 & 1 \\\\ 0 & 1 & 0 \end{bmatrix} \]

  • Sadece yatay ve dikey komşuları dikkate alır.
  • Köşegen bağlantıları korumak istemediğinizde, özellikle dikey ve yatay çizgileri analiz etmek için kullanılır.

Gerçek Dünya Kullanım Alanları

1) Yol / Şerit Tespiti (Uydu – GIS) - Yollar genelde dikey/yatay doğrultudadır. - Cross kernel ile bağlantılar doğru korunur.

2) PDF/Tablo Çizgisi Çıkarma - Excel veya PDF tablo çizgilerinin yeniden elde edilmesinde kullanılır. - Köşegen gürültüleri bastırır.

3) Retina Damar Segmentasyonu - Damar yapıları lineer olduğu için cross kernel gürültüyü bozmadan temizler.

4) Barkod / QR Kod Analizi - Barkod çizgileri dikey yönlüdür → en net morfolojik filtre cross’tur.

5) SLAM / Robotik Haritalar - Grid tabanlı occupancy map işlemlerinde düz bağlantıları korur.

3. Elips (MORPH_ELLIPSE)

\[ \begin{bmatrix} 0 & 1 & 1 & 1 & 0 \\\\ 1 & 1 & 1 & 1 & 1 \\\\ 1 & 1 & 1 & 1 & 1 \\\\ 0 & 1 & 1 & 1 & 0 \end{bmatrix} \]

  • Yuvarlak hatlara sahip nesneler için en iyi sonuçları verir.
  • Nesnelerin köşeli yapısını yumuşatır ve daha organik şekilleri korur.

Gerçek Dünya Kullanım Alanları

1) Kan Hücresi (RBC) Segmentasyonu - Eritrositler dairesel yapıdadır. - Elliptik kernel, hücre konturunu bozmadan gürültüyü temizler.
→ Medikal literatürde sık kullanılan bir tekniktir.

2) Çekirdek / Bakteri Segmentasyonu (Mikroskopi) - Hücre çekirdekleri genelde eliptiktir. - Erosion/Opening sırasında geometrik bozulmayı engeller.

3) Endoskopi – Polip / Kist Tespiti - Oval organik yapılarda kontur yumuşatma için idealdir.

4) Trafik İşaretleri Tespiti - Daire/üçgen işaretlerde preprocessing aşamasında kullanılır.

5) İris Segmentasyonu (Face Recognition) - Göz irisi eliptik olduğu için bu kernel doğal bir eşleşme sağlar.

OpenCV’de Kernel Oluşturma

OpenCV, cv2.getStructuringElement() fonksiyonu ile bu kernel’leri kolayca oluşturmamızı sağlar.

import cv2
import numpy as np

# 5x5 boyutunda bir Dikdörtgen kernel
kernel_rect = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))

# 5x5 boyutunda bir Çapraz kernel
kernel_cross = cv2.getStructuringElement(cv2.MORPH_CROSS, (5, 5))

# 5x5 boyutunda bir Elips kernel
kernel_ellipse = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5))

Erosion (Aşındırma)

  • Erosion, bir nesnenin sınırlarını aşındıran, yani beyaz (1) pikselleri küçülten morfolojik işlemdir.
  • Ön plandaki görüntünün dış sınırlarını inceltir.
  • Yapısal eleman (kernel) görüntü üzerinde gezdirilir.
  • İkili (Binary) Görüntüde: Kernel altındaki tüm pikseller 1 ise (Mantıksal AND), merkez piksel 1 olarak kalır. Aksi halde 0 yapılır.
  • Matematiksel Karşılığı: Bu işlem, yapısal elemanın kapsadığı alandaki piksellerin Infimum (Lokal Minimum) değerini bulmaya denktir. Gri seviye bir görüntüde, merkez pikselin değeri komşuluktaki en düşük (en koyu) piksel değeri ile güncellenir.
  • İnceltme miktarı kullanılan çekirdeğin boyutuna ve şekline göre değişir.

Ne işe yarar?

  • İkili Görüntüde: Küçük beyaz gürültüleri siler, nesneleri inceltir ve yakın nesneleri ayırır.
  • Gri Seviye Görüntüde: Parlak bölgeleri daraltır, koyu bölgeleri genişletir. Küçük ve parlak gürültüleri (salt noise) etkili bir şekilde yok eder.

Örnek Giriş Matrisi (5×5 Binary)

\[ A = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} \]

Erosion Sonucu

\[ Erosion(A) = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} \]

  • Kenarlardaki 1’ler silindi
  • Sadece merkeze yakın olanlar kaldı

OpenCV Uygulaması: Erosion

import cv2
import numpy as np

# Örnek bir görüntü yüklediğimizi varsayalım (0: grayscale olarak yükle)
# img = cv2.imread('ornek_goruntu.png', 0)

# 3. Maddede öğrendiğimiz gibi bir kernel oluşturalım
# 5x5 boyutunda bir Dikdörtgen kernel
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))

# Görüntüye erozyon işlemi uygulayalım
# iterations: işlemin kaç kez tekrarlanacağını belirtir
erosion_img = cv2.erode(img, kernel, iterations=1)

# Sonucu göster
# cv2.imshow('Orijinal', img)
# cv2.imshow('Erozyon Sonucu', erosion_img)
# cv2.waitKey(0)
# cv2.destroyAllWindows()

Pirinç Görselleri Üzerinde Erosion Uygulaması

Notlar

  • Erosion çoklu olarak uygulanabilir. Erode edilmiş görüntü üzerinden tekrar tekrar uygulandığından görüntü ön planı giderek incelir.
  • Genellikle önce dilation ile birlikte (opening veya closing) kullanılır

Dilation (Genleşme)

  • Dilation, nesne sınırlarını dışa doğru genişleten bir morfolojik işlemdir.
  • Yapısal eleman (kernel), görüntüde kaydırılır.
  • İkili (Binary) Görüntüde: Kernel ile örtüşen herhangi bir 1 varsa (Mantıksal OR), merkez piksel 1 yapılır.
  • Matematiksel Karşılığı: Bu işlem, yapısal elemanın kapsadığı alandaki piksellerin Supremum (Lokal Maksimum) değerini bulmaya denktir. Gri seviye bir görüntüde, merkez pikselin değeri komşuluktaki en yüksek (en parlak) piksel değeri ile güncellenir.

Ne işe yarar?

  • İkili Görüntüde: Nesneler arasındaki küçük boşlukları kapatır, kopuk parçaları birleştirir ve nesneleri kalınlaştırır.
  • Gri Seviye Görüntüde: Koyu bölgeleri daraltır, parlak bölgeleri genişletir. Nesnelerin içindeki küçük ve koyu delikleri (pepper noise) doldurmada etkilidir.

Örnek Giriş Matrisi (5×5 Binary)

\[ A = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} \]

Dilation Sonucu

\[ Dilation(A) = \begin{bmatrix} 0 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \end{bmatrix} \]

  • Beyaz çizgi (1 sütunu) genişledi
  • Komşulukta en az bir 1 varsa → merkez piksel 1 oldu

OpenCV Uygulaması: Dilation

# Aynı kernel'i kullandığımızı varsayalım
# kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))

# Görüntüye genişleme işlemi uygulayalım
dilation_img = cv2.dilate(img, kernel, iterations=1)

# Sonucu göster
# cv2.imshow('Genişleme Sonucu', dilation_img)

Pirinç Görselleri Üzerinde Dilation Uygulaması

Notlar

  • Erosion’un tersidir: Dilation genişletir, Erosion küçültür
  • Gürültülü görüntülerde dikkatli kullanılmalıdır
  • Özellikle Closing ve Morph. Gradient gibi işlemlerde kullanılır

Opening (Açma)

  • Opening, sırasıyla Erosion → Dilation işlemlerinin ardışık uygulanmasıdır.

  • İlk olarak küçük gürültüler temizlenir (Erosion)

  • Sonra şeklin orijinal boyutu geri kazanılır (Dilation)

Ne işe yarar?

  • Tuz ve karabiber gürültüsü gibi küçük nesneleri temizler
  • Nesne şekli bozulmadan, gereksiz küçük alanları siler
  • Gürültülü segmentasyon çıktıları için idealdir
  • Gri Seviye Görüntüde: Küçük ve parlak gürültü noktalarını (salt noise), nesnenin genel boyutunu önemli ölçüde değiştirmeden kaldırır.

Açma İşlem Akışı

flowchart LR
  A[Orijinal Görüntü] --> B(Erosion)
  B --> C[Dilation]

Örnek: Gürültülü Bir Görüntü

Ana nesnemiz ve ondan ayrı duran küçük “tuz” gürültüsü (tek piksellik 1’ler) içeren bir matris düşünelim.

\[ A = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 1 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 0 & 0 & 1 & 0 \end{bmatrix} \]

Adım 1: Erosion Sonrası

Erozyon işlemi, ana nesnenin kenarlarını bir miktar aşındırırken, küçük gürültü piksellerini tamamen siler.

\[ Erosion(A) = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} \]

Adım 2: Dilation Sonrası (Opening Sonucu)

Erozyon görmüş görüntüye genişleme uygulandığında, ana nesne eski boyutuna büyük ölçüde geri döner.

\[ Opening(A) = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} \]

  • Ana nesne korundu, gürültüler temizlendi.

OpenCV Uygulaması: Opening

OpenCV’de bu birleşik işlem için cv2.morphologyEx() fonksiyonu kullanılır. Bu, erode ve dilate fonksiyonlarını ayrı ayrı çağırmaktan daha optimize ve pratik bir yöntemdir.

# Görüntüye açma işlemi uygulayalım
# Fonksiyona hangi morfolojik işlemi yapmak istediğimizi bayrak (flag) ile belirtiriz
opening_img = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

# Sonucu göster
# cv2.imshow('Açma Sonucu', opening_img)

Pirinç Görselleri Üzerinde Opening Uygulaması

Notlar

  • Erosion ile küçük yapılar silinir
  • Dilation ile ana şeklin boyutu toparlanır
  • Eğer nesne çok küçükse tamamen silinebilir → dikkatli kullanılmalı

Closing (Kapama)

  • Closing, sırasıyla Dilation → Erosion işlemlerinin ardışık uygulanmasıdır.

  • İlk olarak nesneler genişletilir (Dilation)

  • Ardından yeniden daraltılır (Erosion)

  • Amaç: iç boşlukları doldurmak, nesne bütünlüğünü sağlamak

Ne işe yarar?

  • Küçük siyah delikleri kapatır
  • Nesne konturlarını düzleştirir
  • İnce boşlukları giderir
  • Gri Seviye Görüntüde: Nesnelerin içindeki küçük ve karanlık delikleri (pepper noise), nesnenin genel boyutunu önemli ölçüde değiştirmeden doldurur.

Kapama İşlem Akışı

flowchart LR
  A[Orijinal Görüntü] --> B(Dilation)
  B --> C[Erosion]

Örnek Giriş Matrisi

\[ A = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 0 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} \]

  • Ortada küçük bir iç boşluk (0) var

Closing Sonucu

\[ Closing(A) = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 1 & 1 & 1 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} \]

  • Ortadaki boşluk dolduruldu
  • Ana şeklin sınırları korundu

OpenCV Uygulaması: Closing

# Görüntüye kapama işlemi uygulayalım
closing_img = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

# Sonucu göster
# cv2.imshow('Kapama Sonucu', closing_img)

Pirinç Görselleri Üzerinde Closing Uygulaması

Notlar

  • Opening → küçük nesneleri siler
  • Closing → küçük boşlukları doldurur
  • Segmentasyon sonrası nesneleri birleştirmek için çok kullanışlıdır

Morfolojik Gradient

  • Morfolojik gradient dilation ve erosion farkından oluşmaktadır.

\[ \text{Gradient}(A) = \text{Dilation}(A) - \text{Erosion}(A) \]

Ne işe yarar?

  • Nesnelerin kenar çizgilerini ortaya çıkarır
  • Kenar tespiti (edge detection) için hızlı ve etkili bir yöntemdir
  • Gri Seviye Görüntüde: Bir pikselin komşuluğundaki en parlak (Maksimum) ve en koyu (Minimum) değerler arasındaki farkı hesaplar. Bu sayede, yoğunluk değişiminin yüksek olduğu kenarları belirginleştirir.
  • Hem iç hem dış sınırlara duyarlıdır

Örnek Giriş Matrisi

\[ A = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 1 & 1 & 0 \\ 0 & 1 & 1 & 1 & 0 \\ 0 & 1 & 1 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} \]

Dilation(A)

\[ \begin{bmatrix} 0 & 1 & 1 & 1 & 0 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ 0 & 1 & 1 & 1 & 0 \end{bmatrix} \]

Erosion(A)

\[ \begin{bmatrix} 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} \]

Gradient(A) = Dilation - Erosion

\[ \begin{bmatrix} 0 & 1 & 1 & 1 & 0 \\\\ 1 & 1 & 1 & 1 & 1 \\\\ 1 & 1 & 0 & 1 & 1 \\\\ 1 & 1 & 1 & 1 & 1 \\\\ 0 & 1 & 1 & 1 & 0 \end{bmatrix} \]

  • Sadece sınırlarda yüksek değerler kaldı
  • Merkezdeki sabit bölgeler silindi

OpenCV Uygulaması: Morfolojik Gradyan

# Görüntüye morfolojik gradyan işlemi uygulayalım
gradient_img = cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel)

# Sonucu göster
# cv2.imshow('Gradyan Sonucu', gradient_img)

Pirinç Görselleri Üzerinde Morfolojik Gradyan Uygulaması

Avantajları

  • Hızlı ve uygulanması kolaydır
  • Canny gibi karmaşık kenar bulma algoritmalarına göre basittir
  • Küçük nesnelerde sınırlı etkilidir, ancak belirgin nesne kenarlarında oldukça iyidir

Not

  • Çıktı görüntü, küçük (ör. 3×3) yapısal elemanlarla genellikle 1 piksel kalınlığında kenar bantları üretir
  • Kernel boyutu büyüdükçe kenar kalınlığı da artabilir
  • Genellikle önceden threshold uygulanmış (binary) görüntülerde daha net sonuç verir

Top-Hat (White-Hat) Dönüşümü

  • Orijinal görüntü ile o görüntünün Açma (Opening) işlemi görmüş hali arasındaki farktır.
  • Top-Hat(A) = A - Opening(A)

Ne işe yarar?

  • Görüntüdeki genel arka plana göre daha parlak ve küçük olan nesneleri veya detayları vurgulamak için kullanılır.
  • Özellikle homojen olmayan aydınlatmaya sahip görüntülerde arka planı çıkarıp ön plan nesnelerini izole etmek için çok etkilidir.

OpenCV Uygulaması: Top-Hat

# Görüntüye Top-Hat işlemi uygulayalım
tophat_img = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)

Top-Hat Uygulaması

Black-Hat Dönüşümü

  • Görüntünün Kapama (Closing) işlemi görmüş hali ile orijinal görüntü arasındaki farktır.
  • Black-Hat(A) = Closing(A) - A

Ne işe yarar?

  • Görüntüdeki genel arka plana göre daha koyu ve küçük olan nesneleri, delikleri veya detayları vurgular.
  • “Top-Hat” operatörünün tam tersi (dual) bir amaca hizmet eder.

OpenCV Uygulaması: Black-Hat

# Görüntüye Black-Hat işlemi uygulayalım
blackhat_img = cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel)

Black-Hat Uygulaması

Black-Hat Uygulaması - 2

Minkowski Operasyonları

Daha biçimsel olarak, morfolojik operatörler Minkowski Toplamı ve Minkowski Farkı olarak bilinen küme operasyonlarına dayanır.

  • Genişleme (Dilation): Minkowski Toplamı (⊕)
    • Bir A görüntüsünün bir B yapısal elemanı ile genişlemesi, B’nin her bir elemanının A’nın her bir elemanına vektörel olarak eklenmesiyle oluşan kümedir.
    • Sezgisel olarak, B’nin orijini A’nın her noktasına kaydırıldığında B’nin taradığı tüm alanı ifade eder.
    • \[ A \oplus B = \{a+b \ | \ a \in A, b \in B \} \]
  • Aşındırma (Erosion): Minkowski Farkı (⊖)
    • B yapısal elemanının A görüntüsünün “içinde kalacağı” şekilde kaydırılabileceği tüm noktaların kümesidir.
    • \[ A \ominus B = \{x \ | \ B_x \subseteq A \} \]

İleri Seviye Morfolojik Konular

Bu derste temel operatörleri inceledik. Bilgisayarla görme alanında sıkça kullanılan diğer önemli morfolojik araçlar şunlardır:

  • Hit-or-Miss Dönüşümü: Belirli bir piksel konfigürasyonunu (deseni) bulmak için kullanılır. Şekil eşleme için temel bir araçtır.
  • Morfolojik Yeniden Yapılanma (Reconstruction): Bir “marker” görüntüden başlayarak bir “maske” görüntü sınırları içinde tekrarlı genişlemeler yaparak nesneleri yeniden oluşturur. Gürültü temizleme ve segmentasyonda çok güçlüdür.
  • Watershed Algoritması: Görüntüyü havzalara ayıran, segmentasyon için kullanılan ileri seviye bir morfolojik algoritmadır.

Hangi İşlem Ne Zaman Kullanılır?

Amaç Kullanılacak Operatör Anahtar Kelime
Küçük parlak gürültüleri silme Opening Gürültü Temizleme
Nesne içindeki küçük delikleri doldurma Closing Delik Doldurma
Nesneleri birbirinden ayırma Erosion Ayırma
Kopuk parçaları birleştirme Dilation Birleştirme
Nesne kenarlarını bulma Gradient Kenar Tespiti
Parlak arka plandaki parlak detaylar Top-Hat Arka plan aydınlatmasını normalize etme
Koyu arka plandaki koyu detaylar Black-Hat Arka plan gölgelerini ortaya çıkarma