NEDİR?
Görüntü Eşikleme (Image Thresholding)
- Bu fonksiyon genellikle gri tonlu bir görüntüden, ikili görüntü oluşturmak için kullanılır. Renkli görüntülerle de kullanılabilir.
- Kaynak görüntünün piksel değerlerini çok büyük ya da çok küçük değerlere filtreler.
- Çoğunlukla görüntülerdeki gürültüyü kaldırmak için kullanılır.
- Birçok threshold tipi mevcuttur:
2-Binary Inverted Tip
3-To Zero Tip
4-To Zero Inverted Tip
5-Truncate Tip
Kullanım Şekli
cv2.threshold(src, thresh, maxval, type[, dst])
- SRC; Giriş dizisidir. Bu dizi gri tonlamalı bir resim olmalıdır.
- TRESH; Eşik ve Piksel değerlerini sınıflandırmak için kullanılır
- MAXVAL; THRESH_BINARY ve THRESH_BINARY_INV eşikleme türlerini maksimum değerde kullanmak için yazılır.
- TYPE; Threshold tipleri belirlenir.
Threshold Tipleri
Örneğin "messi.jpg" adlı resim dosyasını görüntü eşiklemek istersek;
import cv2
import numpy as np
from matplotlib import pyplot as plt
#Resim Gri Skalada Okunur#
img = cv2.imread('messi.jpg',0)
#Resime Görüntü Eşiklemeler uygulanır#
ret,thresh1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
ret,thresh2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV)
ret,thresh3 = cv2.threshold(img,127,255,cv2.THRESH_TRUNC)
ret,thresh4 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO)
ret,thresh5 = cv2.threshold(img,127,255,cv2.THRESH_TOZERO_INV)
#Görüntü Ekranının İsimleri ve Değişkenleri Atanır#
titles = ['Original Image','BINARY','BINARY_INV','TRUNC','TOZERO','TOZERO_INV']
images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]
#Aynı Ekranda Thresholdlar Gözlenir#
for i in xrange(6):
plt.subplot(2,3,i+1),plt.imshow(images[i],'gray')
plt.title(titles[i])
plt.xticks([]),plt.yticks([])
plt.show()
Sonuç;
Görüntü Eşikleme Görüntü işlemede sık başvurulan bir metoddur.
ret,thresh1 ki ret neden kullaniyoruz
YanıtlaSilKusura bakma kardeşim sınavlardan dolayı dönemedim öncelikle;
YanıtlaSilEşikleme metodu 2 ana bölümden oluşur;
1)ret(retval): bu senin dönüş değerindir her threshold uygulamasında mutlaka kullanılmalır.
2)Output image: Bu çıkış yani threshold uygulandıktan sonra resmin son halidir.
yani kısaca Eşikleme metodu;
ret,output_image=cv2.threshold(input_image,esik_altsınır,esik_ustsınır,esikleme_tipi)
şeklinde kullanılır