LINUX.ORG.RU

Не работает фильтр чёрного цвета в rgb для opencv поиска обьектов

 ,


0

1

Извините за нубские вопросы но это капец, у меня как на зло 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

czarny = cv2.inRange(hsv, (0, 0, 0), (40, 40, 40))

Верхняя граница фильтра - (40, 40, 40) - довольно тёмная?

Попробуй значение повыше. Визуально можно прикинуть на всяких сайтах-Color Picker’ах, типа такого http://colorizer.org/

Глянул темы ТС. Выводы сделал.

PhysShell ()
Последнее исправление: PhysShell (всего исправлений: 1)