В настоящее время я создаю приложение, в котором пользователь обнаружит зеленые цвета. Я использую эту фотографию для тестирования: OpenCV Android Green Color Detection
Моя проблема в том, что я не могу обнаружить зеленый пиксель. До того, как я работал с синим цветом, все работало нормально. Теперь я ничего не могу обнаружить, хотя я пробовал разные комбинации RGB
. Я хотел знать, является ли это проблемой с зеленым или моим диапазоном обнаружения, поэтому я сделал изображение в краске, используя (0, 255, 0)
, и это сработало. Почему он не может видеть этот круг? Я использую этот код для обнаружения:
Core.inRange(hsv_image, new Scalar([I change this value]), new Scalar(60, 255, 255), ultimate_blue);
Это могло бы быть, что я поставил неправильный диапазон, но я использую Photoshop, чтобы получить цвет одного из зеленых пикселей и конвертировать RGB
значения его в HSV
. Но это не работает. Он не обнаруживает даже пиксель, который я выбрал. Что не так? Заранее спасибо.
Используя ответ Мики:
смотрите [здесь] (http://stackoverflow.com/a/31465462/5008845) – Miki
Я думаю, что я использую HSV справа. Я использую http://colorizer.org/, чтобы узнать соответствующий HSV для RGB, а затем преобразовать его, поэтому его можно использовать в OpenCV. –
Я обновил ответ, вам нужно использовать нижнюю границу для V, так как ваше исходное изображение довольно темное (т. Е. Низкое значение V). См. Результат – Miki