Konturları bulma

Python ile Görüntü İşleme

Rebeca Gonzalez

Data Engineer

Konturları bulma

  • Boyutu ölçün
  • Şekilleri sınıflandırın
  • Nesne sayısını belirleyin

Domino taşlarındaki toplam benek: 29.

Python ile Görüntü İşleme

İkili görüntüler

İkili görüntüyü, eşikleme uygulayarak veya kenar tespiti ile elde edebiliriz

Python ile Görüntü İşleme

scikit-image ile kontur bulma

Görüntüyü hazırlama

Görüntüyü 2B gri tonlamaya dönüştürün.

# Görüntüyü gri tonlamaya çevirin
image = color.rgb2gray(image)

Python ile Görüntü İşleme

scikit-image ile kontur bulma

Görüntüyü hazırlama

Görüntüyü ikilileştirin

# Eşik değerini alın
thresh = threshold_otsu(image)

# Eşikleme uygulayın
thresholded_image = image > thresh

Python ile Görüntü İşleme

scikit-image ile kontur bulma

Ve ardından find_contours() kullanın.

# measure modülünü içe aktarın
from skimage import measure

# 0.8 sabit değerde konturları bulun
contours = measure.find_contours(thresholded_image, 0.8)

Python ile Görüntü İşleme

Sabit seviye değeri

Python ile Görüntü İşleme

Konturları belirleme adımları

from skimage import measure
from skimage.filters import threshold_otsu

# Görüntüyü gri tonlamaya çevirin
image = color.rgb2gray(image)

# Görüntü için en iyi eşik değerini alın thresh = threshold_otsu(image) # Eşikleme uygulayın ve ikili görüntüyü elde edin thresholded_image = image > thresh
# 0.8 sabit değerde konturları bulun contours = measure.find_contours(thresholded_image, 0.8)
Python ile Görüntü İşleme

Konturları belirleme adımları

Sonuç

Python ile Görüntü İşleme

Bir konturun şekli

Konturlar: (n,2) - ndarray listesi.

for contour in contours:
    print(contour.shape)
(433, 2)
(433, 2)
(401, 2)
(401, 2) 
(123, 2)
(123, 2) 
(59, 2)
(59, 2)
(59, 2)
(57, 2)
(57, 2)
(59, 2)
(59, 2)

Python ile Görüntü İşleme

Bir konturun şekli

for contour in contours:
    print(contour.shape)
(433, 2)
(433, 2) --> Dış kenar
(401, 2)
(401, 2)
(123, 2)
(123, 2)
(59, 2)
(59, 2)
(59, 2)
(57, 2)
(57, 2)
(59, 2)
(59, 2) 

Python ile Görüntü İşleme

Bir konturun şekli

for contour in contours:
    print(contour.shape)
(433, 2)
(433, 2) --> Dış kenar
(401, 2)
(401, 2) --> İç kenar
(123, 2)
(123, 2) 
(59, 2)
(59, 2)
(59, 2)
(57, 2)
(57, 2)
(59, 2)
(59, 2) 

Python ile Görüntü İşleme

Bir konturun şekli

for contour in contours:
    print(contour.shape)
(433, 2)
(433, 2) --> Dış kenar
(401, 2)
(401, 2) --> İç kenar
(123, 2)
(123, 2) --> Taşları ayıran çizgi
(59, 2)
(59, 2)
(59, 2)
(57, 2)
(57, 2)
(59, 2)
(59, 2) 

Python ile Görüntü İşleme

Bir konturun şekli

for contour in contours:
    print(contour.shape)
(433, 2)
(433, 2) --> Dış kenar
(401, 2)
(401, 2) --> İç kenar
(123, 2)
(123, 2) --> Taşları ayıran çizgi
(59, 2)
(59, 2)
(59, 2)
(57, 2)
(57, 2)
(59, 2)
(59, 2) --> Benekler 

Benek sayısı: 7.

Python ile Görüntü İşleme

Hadi pratik yapalım!

Python ile Görüntü İşleme

Preparing Video For Download...