7 Mart 2016 Pazartesi

OPENCV DERSLERİ (DERS:11) IMAGE THRESHOLDING DERS-2

Uyarlanabilir Eşik

Birönceki bölümdeki Thresholdingler bazı durumlarda(ışık,ortam farklılıklarında) verimli olmayabilir bu durumda uyarlanabilir eşik methodu kullanılabilir. uyarlanabilir eşik methodu değişen ışık ortamlarında daha stabil ve daha iyi sonuçlar elde edebilir.

OpenCV kütüphanesinde bu kodlar;




  • cv2.ADAPTIVE_THRESH_MEAN_C: eşik değeri alanının ortalamasıdır.
  • cv2.ADAPTIVE_THRESH_GAUSSIAN_C: Eşik değeri ağırlıkları bir Gauss penceresi olan alan değerlerinin ağırlıklı toplamıdır.

  • Örnek Kod


    Örneğin bir önceki derstede kullandığımız messi.jpg resmini bu eşiklerden geçirmek istersek

    import cv2
    import numpy as np
    from matplotlib import pyplot as plt

    img = cv2.imread('messi.jpg',0)
    img = cv2.medianBlur(img,5)

    ret,th1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
    th2 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,\
                cv2.THRESH_BINARY,11,2)
    th3 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,\
                cv2.THRESH_BINARY,11,2)

    titles = ['Original Image', 'Global Thresholding (v = 127)',
                'Adaptive Mean Thresholding', 'Adaptive Gaussian Thresholding']
    images = [img, th1, th2, th3]

    for i in xrange(4):
        plt.subplot(2,2,i+1),plt.imshow(images[i],'gray')
        plt.title(titles[i])
        plt.xticks([]),plt.yticks([])
    plt.show()


    Sonuç;




    Ders:10⬅                                                                Ders:12

    0 yorum:

    Yorum Gönder