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

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

HSV: зелёные участки яблок

Условие

Получите маску зелёных и жёлто-зелёных участков яблок. Красные бока и тёмный фон останутся чёрными: цветовая маска не обязана выделять яблоко целиком. Прочитайте input.png и преобразуйте BGR в HSV (OpenCV: H от 0 до 179, S и V от 0 до 255). Диапазоны: H=25…85, S=80…255, V=40…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

Объект может содержать несколько цветов. Эта задача выделяет только участки заданного цвета, а не все яблоки целиком.

Подсказка 2

Нижняя граница V убирает тёмный фон; нижняя S убирает малонасыщенные участки. Соберите их вместе с диапазоном H.