Как я могу получить координаты пикселей определенного цвета (RGB) этого изображения с помощью Python?

#python #image #opencv #image-processing #pycharm

#python #изображение #opencv #обработка изображений #pycharm

Вопрос:

Я пытаюсь создать внутреннюю навигацию, и мне нужна внутренняя карта, по которой робот мог бы автоматически ориентироваться. Я подумываю об использовании изображения, которое имеет разные цвета для каждого места (определенного раздела), и я хочу знать, как получить координаты определенных цветов. Чтобы я мог обозначать места в определенной цветовой области, используя эти координаты. В настоящее время я использую pycharm

Как я могу получить координаты каждой из розовых, фиолетовых и желтых частей? Цветовой код RGB — розовый (255,128,255), желтый (255,255,0), фиолетовый (128,128, 255).

Это изображение, которое я буду использовать

Ответ №1:

Решение вашей проблемы будет включать две основные части:

  1. Определение цвета по входному изображению
  2. Преобразование большого двоичного объекта в одну координату.

Давайте рассмотрим первую проблему. Вы можете использовать cv2.inRange() с различными цветами, чтобы получить двоичную маску для каждого из ваших отмеченных квадратов на входном изображении.

Теперь вы можете использовать cv2.findContours для бинарных масок, чтобы определить самый большой контур и взять его среднюю точку или что-то в этом роде.