opencvde görüntüyü arkaplandan ayırmak için vereceğim threshold değerini nasıl belirliyebilirim
tamam onu biliyorum hani eşik değerin altındaysa 0 a üstündeyse 255 e yuvarlıyo falan ya o eşik değeri neye göre nasıl belirleyeceğim çünkü birkaç resimde denedim yapamadım
Biraz daha açıklayabilir misiniz?
Çünkü verdiğim linkte örnek anlaşılır bir örnek,
# import opencv
import cv2
# Read image
src = cv2.imread("threshold.png", cv2.IMREAD_GRAYSCALE);
# Basic threhold example
th, dst = cv2.threshold(src, 0, 255, cv2.THRESH_BINARY);
cv2.imwrite("opencv-threshold-example.jpg", dst);
# Thresholding with maxValue set to 128
th, dst = cv2.threshold(src, 0, 128, cv2.THRESH_BINARY);
cv2.imwrite("opencv-thresh-binary-maxval.jpg", dst);
# Thresholding with threshold value set 127
th, dst = cv2.threshold(src,127,255, cv2.THRESH_BINARY);
cv2.imwrite("opencv-thresh-binary.jpg", dst);
# Thresholding using THRESH_BINARY_INV
th, dst = cv2.threshold(src,127,255, cv2.THRESH_BINARY_INV);
cv2.imwrite("opencv-thresh-binary-inv.jpg", dst);
# Thresholding using THRESH_TRUNC
th, dst = cv2.threshold(src,127,255, cv2.THRESH_TRUNC);
cv2.imwrite("opencv-thresh-trunc.jpg", dst);
# Thresholding using THRESH_TOZERO
th, dst = cv2.threshold(src,127,255, cv2.THRESH_TOZERO);
cv2.imwrite("opencv-thresh-tozero.jpg", dst);
# Thresholding using THRESH_TOZERO_INV
th, dst = cv2.threshold(src,127,255, cv2.THRESH_TOZERO_INV);
cv2.imwrite("opencv-thresh-to-zero-inv.jpg", dst);
Ama sormak istediğiniz farklı sanırım.
Farklı resimlerinde farklı threshold değerleri mi gerekiyor? Bu durumda bunu kendiniz önceden deneyerek elde etmelisiniz. Bunu her farklı resim için çözebilmek için ileri seviye farklı teknikler gerekebilir.
Yani önceden öğretilmiş bir veri tabanı kullanmanız gerekebilir.