Извините за нубские вопросы но это капец, у меня как на зло opencv не находит только чёрный цвет, а фильтр ведь должен быть установлен именно на чёрные обьекты. Вот главная часть кода:
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (5, 5), 0)
edged = cv2.Canny(blurred, 30, 150)
czarny = cv2.inRange(hsv, (0, 0, 0), (40, 40, 40))
mask_gray = gray>0
mask_czarny = czarny>0
czarny = np.zeros_like(image, np.uint8)
czarny[mask_czarny] = image[mask_czarny]
gray = cv2.cvtColor(czarny, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(edged, 1, 255, cv2.THRESH_BINARY)
И пример его неудачной работы:
https://drive.google.com/file/d/1fYr9aCmxQHGV_bGvWojv88d_wTAjCEO3/view?usp=sharing