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

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

HSV: Луна на вечернем небе

Условие

Отделите светлые малонасыщенные участки Луны от неба. Здесь важнее насыщенность S и яркость V, чем оттенок H. Прочитайте input.png и преобразуйте BGR в HSV (OpenCV: H от 0 до 179, S и V от 0 до 255). Диапазоны: H=0…179, S=0…90, V=120…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

У почти серого объекта насыщенность S мала, а яркость V заметно выше фона.

Подсказка 2

Разрешите весь диапазон H от 0 до 179, ограничьте S сверху, а V снизу. Границы включаются в маску.