Выявление цветного сгустка на картинке. Продолжение

Наша следующая цель заключается в том, чтобы попытаться выявить каплю цвета в этом изображении. Попробуйте найти что-нибудь поблизости, ярко-зеленый, красный или синий. Мы постараемся найти объект на изображении, фильтруя другие цвета, затем нарисуем маркером в его центре.
Прежде всего, мы должны попытаться определить цвет нашего объекта и отфильтровать все остальные. Мы сделаем это с помощью перебора каждого пикселя, и путем сравнения их красной, зеленой и синей интенсивности между собой.
В статье по основам, мы выделяли преимущественно красный цвет, так что давайте начнем оттуда. Убедитесь, что вы поместите этот код после захвата изображения с камеры, и перед вами оно отображается. Следует сделать отступление, потому что это часть цикла while. Кстати, на сайте https://oneprog.ru/yandex-browser-download-free.htm можно скачать Яндекс браузер бесплатно.
for x in range (0, image.width):
for y in range (0, image.height):
# Получить значение текущего пикселя
red, green, blue = image [x, y]

# Проверить, превышает интенсивность красного зеленый и синий
if red> green and red> blue:
# Цвет пикселей, которые прошли тест, черный
image [x, y] = 0, 0, 0
Важным строкой есть условие:
if red> green and red> blue:
Тестируя интенсивность отдельных каналов, по-разному сравнивая друг с другом, мы можем определить наш нужный цвет. Вот несколько трюков, которые попытаются помочь вам подобрать свой цвет:
# Проверка, зеленый канал более интенсивный, чем 128 (половина интенсивности)
if green> 128:

# Проверка или красный более чем вдвое интенсивнее, чем канал зеленого
if red> (2 * green):

# Здесь мы ищем цвет, в котором значение голубого более 64
# И синий более чем в 3/2 раза интенсивнее от зеленого
if blue> 64 and blue> (3/2 * green):

# Альтернативный способ записанного выше, путем использования конструкции if
if blue> 64:
if blue> (3/2 * green):
# Код здесь

Читайте также: