Adaptive Thresholding

Kategori: Python / OpenCV , 06 Ekim 2019 , JanFranco


Threshold yönteminde eşik değeri biz belirliyorduk. Ancak belirlediğimiz değer yoğun ışıklı resimlerde hatalara sebep olabilir. Hatalara başka durumlar da sebep olabilir. Bir resim için tek bir eşik değer olması yerine resmi parçalara bölüp, her bir parça için otomatik eşik değeri de hesaplayabiliriz. Bu yönteme adaptive thresholding denir. Bu yöntemin arkasındaki matematiği, algoritmayı Computer Vision bölümünde detaylıca anlatacağım, şimdilik nasıl kullanacağımızı görelim:


img = cv2.imread("hel.jpg", 0)

th1 = cv2.adaptiveThreshold(img, 250, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 2)

cv2.imshow("th1", th1)
cv2.waitKey()
Parametreleri açıklamak gerekirse, ilk parametre resmimiz, ikinci parametre ise threshold max değeridir. İlk iki parametreden çok son 4 parametre bizim için önemlidir. Üçüncü parametre adaptive methodu, dördüncü parametre threshold methodudur. Adaptive thresholding yönteminde resmin parçalara ayrıldığını belirtmiştik. Beşinci parametre bu ayrılan parçaların büyüklüğüdür. Bu değer tekil bir ifade olmalıdır. Çift değer girilemez. Son parametre ise bir ortalama işlemleri için bir sabit sayıdır. Farklı bir adaptive methodu uygulayalım:


img = cv2.imread("hel.jpg", 0)

th1 = cv2.adaptiveThreshold(img, 250, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)

cv2.imshow("th1", th1)
cv2.waitKey()


Sonraki Yazı: Morphological Transformations
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın