Я работаю над сценарием Python для сегментации объектов, используя opencv. На некоторых объектах этот скрипт уже работает нормально. Смотрите, например, изображение ниже.
Однако мой сценарий, похоже, не работает на темных объектах:
Я не знаю, почему это так, поскольку я довольно плохо знаком с компьютерным зрением. Мой скрипт для сегментации объектов выглядит так:
import cv2
import imutils
image = cv2.imread(input)
dst = cv2.fastNlMeansDenoisingColored(image, None, 10, 10, 7, 21)
hsv = cv2.cvtColor(dst, cv2.COLOR_BGR2HSV)
h, s, v = cv2.split(hsv)
retval, thresholded = cv2.threshold(s, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)
medianFiltered = cv2.medianBlur(thresholded, 5)
cnts = cv2.findContours(medianFiltered,
cv2.RETR_TREE,
cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if imutils.is_cv2() else cnts[1]
Любые предложения о том, как я могу улучшить это?