HSV: синий колпачок
Вы решили задачу. Теперь можно сравнить подходы.
Выделите синие участки колпачка маркера на фотографии стола.
Авторский разбор для локальной версии на основе условия задачи. Это не выгрузка чужих посылок и не официальное решение исходного сайта.
Ваше принятое решение
Рекомендуемое решение: Цветовая маска 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).
На что обратить внимание
- Не путайте RGB с BGR: cv2.imread возвращает BGR.
- У OpenCV оттенок H заканчивается на 179, не на 255.
- Цветовая маска выделяет пиксели, а не распознаёт предметы.
Рекомендация учитывает сложность и читаемость для этой задачи. Единственного самого быстрого решения для всех размеров входа и всех компьютеров может не быть.