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

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