меня это изображению example imageизвлечение части изображения, описанное с красной коробкой с OpenCV (C++)
Я должен признать Характер внутри него. Для этого я хочу создать маску, чтобы удалить все, кроме красной коробки.
Каков наилучший метод, который я мог бы использовать для этого?
В настоящее время я использую фильтр hsv для создания маски и использую маску для обрезки изображения только на красный квадрат.
cvtColor(src, HSV, COLOR_BGR2HSV);
inRange(HSV, Scalar(H_MIN, S_MIN, V_MIN), Scalar(H_MAX, S_MAX, V_MAX), HSVmask);
src.copyTo(src2, HSVmask);
Это приводит к плохой маске, поскольку он имеет Т сами по себе без зависимости от того, как я просмотреть изображение, я нужен более надежный подход.
-Мне было интересно, если есть способ сделать окно вокруг значительного белого региона и использовать его в качестве маски, но я не уверен, как реализовать это на opencv.
С маской, которую я применяю для обнаружения каменного края, я нахожу контуры и заполняю контуры.
Моих результатов Contour Output and Mask
В результате я получаю не достаточно прочные, я в идеале должен быть в состоянии обнаружить большой знак на поле травы из воздушного видеопотока, поэтому он должен работать с красный квадрат с разными размерами.
Есть ли способ, которым я могу улучшить этот процесс в целом?
Метод распознавания символов еще не решен.
Вы пробовали что-нибудь? Например: Mat1b mask; inRange (изображение, скаляр (255,0,0), скаляр (255,0,0), маска); – Miki