Лаборатория HSV — подобрать цвет и маску · Теория: HSV и ползунки

← Все задачи с изображениями ·

HSV: маска голубого неба

Условие

Выделите голубые и синие участки неба; белые облака с низкой насыщенностью не должны попасть в эту маску. Прочитайте input.png и преобразуйте BGR в HSV (OpenCV: H от 0 до 179, S и V от 0 до 255). Диапазоны: H=90…130, S=50…255, V=50…255. Все границы включительны. Сохраните одноканальную маску uint8: подходящий пиксель — 255, остальные — 0 в output.png без изменения размеров. Проверка сравнивает пиксели на трёх версиях фотографии. На своём изображении можно экспериментировать отдельно.

Прочитайте входной файл через cv2.imread('input.png') и сохраните результат командой cv2.imwrite('output.png', result). Используйте также numpy и PIL. Результат появится ниже; cv2.imshow() в этой среде не используется.

Код Python

import cv2
import numpy as np

image = cv2.imread('input.png')

# Выделите нужные пиксели и сохраните output.png

Запуск использует выбранное изображение. Проверка решения всегда выполняется на учебных тестах.

Входное изображение

Файл используется для запуска, но не заменяет учебные тесты.

Входное изображение для обработки

Результат обработки

Запустите код, чтобы увидеть результат.

Вывод программы


    
    
    

Нужна подсказка?

Подсказка 1

H отвечает за оттенок, S — за насыщенность, V — за яркость. Ограничение по одному H может захватить почти серые пиксели.

Подсказка 2

Используйте inRange с заданными границами всех трёх каналов. Сохраняйте именно маску, а не HSV-изображение.