Лаборатория 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() в этой среде не используется.
import cv2
import numpy as np
image = cv2.imread('input.png')
# Выделите нужные пиксели и сохраните output.png
Запуск использует выбранное изображение. Проверка решения всегда выполняется на учебных тестах.
Файл используется для запуска, но не заменяет учебные тесты.

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