OpenCV создает полностью черную маску из изображенияC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 OpenCV создает полностью черную маску из изображения

Сообщение Anonymous »

Я пытаюсь сузить снимок экрана приложения до определенного раздела пользовательского интерфейса для последующей обработки Tesseract; в частности, рейтинги X Battle расположены в нижней половине изображения.
Изображение

Я провел небольшое исследование и понял, что цветовая сегментация может быть для меня наиболее практичным выбором. Однако следующий код при запуске создает полностью черную маску:

Код: Выделить всё

    // step 1: read the image into a cv::Mat
cv::Mat source_image = cv::imread("test_data/xrec/ocr_splatnet3/Screenshot_20251021_074323_Nintendo_Switch_App.jpg");

// step 2: convert to hsv
cv::Mat hsv;
cv::cvtColor(source_image, hsv, cv::COLOR_BGR2HSV);

// step 3, make a color mask
cv::Mat mask;
cv::Scalar lower_bound(220, 24, 8);
cv::Scalar upper_bound(224, 34, 18);
cv::inRange(hsv, lower_bound, upper_bound, mask);

cv::imshow("mask", mask);
cv::waitKey();
cv::destroyAllWindows();

// Tesseract code follows...
Не слишком ли узок диапазон верхней и нижней границы? Или я просто пропустил какой-то шаг?


Подробнее здесь: https://stackoverflow.com/questions/798 ... from-image
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»