Я пытаюсь выполнить обычное обнаружение цветных объектов с помощью OpenCV и Python.Проблема с обнаружением цвета с изображения HSV с использованием OpenCV и Python
Я прочитал несколько руководств, но я столкнулся с запутанной проблемой, которая мешает мне развиваться. Хотя я предоставляю правильные данные HSV, моя программа, похоже, не обнаруживает объекты этого цвета.
Я использую этот файл (извините за плохое качество веб-камеры):
Для того, чтобы обнаружить красный объект, я выздоровел цвет данных HSV:
И вот мой код:
YELLOW = 30
BLUE = 210
GREEN = 145
RED = 320
color = RED
img = cv2.imread("sample.png")
hue = color // 2
lower_range = np.array([max(0, hue - 10), 0, 0], dtype=np.uint8)
upper_range = np.array([min(180, hue + 10), 255, 255], dtype=np.uint8)
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
mask = cv2.inRange(img, lower_range, upper_range)
binary_img = cv2.bitwise_and(img_hsv, img_hsv, mask=mask)
binary_img = cv2.cvtColor(binary_img, cv2.COLOR_BGR2GRAY)
_, binary_img = cv2.threshold(binary_img, 127, 255, cv2.THRESH_BINARY)
cv2.imshow('sample', binary_img)
cv2.waitKey(0)
Результат:
Результат для других цветов правильно (не совершенен из-за плохого качества, я думаю), но я не могу получить что-то для красного. Тем не менее, HSV конвертируется изображение довольно четко:
Вы видите, что я делаю неправильно, пожалуйста?
Спасибо! Я потерял так много времени из-за этой глупой ошибки новичков ... – Delgan
Я использую изображение HSV, но получаю странный результат. Если у вас есть время, вы можете посмотреть на него [здесь] (http://stackoverflow.com/questions/34170856/trying-to-detect-blue-color-from-image-using-opencv-and-getting-unexpected -resu)? – Solace