Eşiklemeye Başlarken

Python ile Görüntü İşleme

Rebeca Gonzalez

Data Engineer

Eşikleme

Bir görüntüyü ön plan ve arka plana ayırma

Bunu görüntüyü siyah-beyaz yaparak

Her pikseli şu şekilde ayarlarız:

  • Piksel $\gt$ eşik ise 255 (beyaz)
  • Piksel $\lt$ eşik ise 0 (siyah)

Kameralı bir adamın eşiklenmiş görüntüsü

Python ile Görüntü İşleme

Eşikleme

Görüntü bölümlemenin en basit yöntemi

  • Nesneleri ayırır
    • Nesne tespiti
    • Yüz tespiti
    • vb.

Eşiklenmiş domino taşları görüntüsü

Python ile Görüntü İşleme

Eşikleme

Yalnızca gri tonlamalı görüntülerde

Domino taşlarıyla eşikleme adımları: önce RGB-3 renkli, sonra gri tonlamalı ve sonra eşiklenmiş

Python ile Görüntü İşleme

Uygulayın

# En uygun eşik değerini elde et
thresh = 127

# Görüntüye eşikleme uygula binary = image > thresh
# Orijinal ve eşiklenmiş görüntüyü göster show_image(image, 'Original') show_image(binary, 'Thresholded')

Kameralı bir adamın eşiklenmiş görüntüsü

Python ile Görüntü İşleme

Ters eşikleme

# En uygun eşik değerini elde et
thresh = 127

# Görüntüye eşikleme uygula inverted_binary = image <= thresh
# Orijinal ve eşiklenmiş görüntüyü göster show_image(image, 'Original') show_image(inverted_binary, 'Inverted thresholded')

Kameralı bir adamın ters eşiklenmiş görüntüsü

Python ile Görüntü İşleme

Kategoriler

  • Küresel veya histogram tabanlı: düzgün arka planlarda iyi

  • Yerel veya uyarlamalı: düzensiz aydınlatma için

Küresel ve yerel eşiklemenin karşılaştırması

Python ile Görüntü İşleme

Daha fazla eşikleme algoritması deneyin

from skimage.filters import try_all_threshold

# Tüm sonuç görüntülerini elde et fig, ax = try_all_threshold(image, verbose=False)
# Sonuç grafikleri göster show_plot(fig, ax)
Python ile Görüntü İşleme

Daha fazla eşikleme algoritması deneyin

Bir metin sayfasının gri tonlamalı görüntüsünde tüm küresel eşikleme yöntemleri

Python ile Görüntü İşleme

En uygun eşik değeri

Küresel

Düzgün arka plan
# Otsu eşikleme fonksiyonunu içe aktar
from skimage.filters import threshold_otsu

# En uygun eşik değerini elde et thresh = threshold_otsu(image)
# Görüntüye eşikleme uygula binary_global = image > thresh
Python ile Görüntü İşleme

En uygun eşik değeri

Küresel

# Orijinal ve ikili görüntüyü göster
show_image(image, 'Original')
show_image(binary_global, 'Global thresholding')

Kameralı bir adamın orijinal görüntüsü, bu görüntünün eşiklenmiş hâli ve histogramı; kırmızı çizgi en uygun eşiği gösteriyor

Python ile Görüntü İşleme

En uygun eşik değeri

Yerel

Düzensiz arka plan
# Yerel eşikleme fonksiyonunu içe aktar
from skimage.filters import threshold_local

# Blok boyutunu 35 yap block_size = 35
# En uygun yerel eşiği elde et local_thresh = threshold_local(text_image, block_size, offset=10)
# Yerel eşikleme uygula ve ikili görüntüyü al binary_local = text_image > local_thresh
Python ile Görüntü İşleme

En uygun eşik değeri

Yerel

# Orijinal ve ikili görüntüyü göster
show_image(text_image, 'Original')
show_image(binary_local, 'Local thresholding')

Bir metin sayfasının yerel olarak eşiklenmiş görüntüsü

Python ile Görüntü İşleme

Hadi pratik yapalım!

Python ile Görüntü İşleme

Preparing Video For Download...