Мини-урок · перед практикой

HSV: синий колпачок

Выделите синие участки колпачка маркера на фотографии стола.

Как к ней подойти

Научитесь читать изображение как массив пикселей и проверять результат преобразования.

Коротко о теме

Изображение в OpenCV - массив пикселей, а порядок цветовых каналов при чтении обычно BGR. Операции могут менять размер, тип данных и число каналов; проверьте все три свойства перед сохранением результата.

Ключевая идея · Цветовая маска HSV

Преобразуем BGR в HSV, проверяем включительные границы каналов и сохраняем маску 0/255.

Проверьте перед запуском

  • Не путайте RGB с BGR: cv2.imread возвращает BGR.
  • У OpenCV оттенок H заканчивается на 179, не на 255.
  • Цветовая маска выделяет пиксели, а не распознаёт предметы.

Сравните свой подход

Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.

Ваше принятое решение

Рекомендуемое решение: Цветовая маска HSV

Преобразуем BGR в HSV, проверяем включительные границы каналов и сохраняем маску 0/255.

import cv2
import numpy as np

image = cv2.imread('input.png')
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
mask0 = cv2.inRange(hsv, (100, 100, 50), (140, 255, 255))
mask = mask0
result = mask
cv2.imwrite('output.png', result)

Время: O(H × W). Память: O(H × W).