проблемы с обнаружением текста на картике
Задача в следующем:
- Прочитать текст с картинки и определить 2Д координаты
- нарисовать боундинг бокс вокруг текста.
Пробую пример с оф. сайта "тессеракта" для обнаружения текста с картинке, беру первую картинку созданную через "Paint", собственно не картинка, а черный текст на белом фоне, все отлично обнаруживается и русские символы и английские.
Далее пробую распознать символы с рандомной картинки из интернета:

С горем пополам, что-то обнаруживает. Но много чего пропускает. Пробую скриншот из любимой игры:
Просто нечего не видит, вообще нечего, не на русском не на английском. Пробовал разные форматы картинок. Я так понимаю нужен другой алгоритм? Или я не верно пользуюсь Api? Может нужно совместить алгоритмы opencv и tesseract?
Пример кода использовал этот:
Pix *image = pixRead("/usr/src/tesseract/testing/phototest.tif");
tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
api->Init(NULL, "eng");
api->SetImage(image);
api->Recognize(0);
tesseract::ResultIterator* ri = api->GetIterator();
tesseract::PageIteratorLevel level = tesseract::RIL_WORD;
if (ri != 0) {
do {
const char* word = ri->GetUTF8Text(level);
float conf = ri->Confidence(level);
int x1, y1, x2, y2;
ri->BoundingBox(level, &x1, &y1, &x2, &y2);
printf("word: '%s'; \tconf: %.2f; BoundingBox: %d,%d,%d,%d;\n",
word, conf, x1, y1, x2, y2);
delete[] word;
} while (ri->Next(level));
}
Ответы (1 шт):
Ответ оказался прост: нужно обучить тессеракт новому шрифту и все заработает! Ну еще нужно отредактировать картинку с помощью OpenCV и еще кучу манипуляций по удалению лишних объектов с картинки. Далее отфильтровать по цвету текста, т.е. удалить все цвета с картинки, кроме цвета текста. В общем, если вам нужно считать текст с чистой картинки - черный текст на белом фоне или хотя бы на нейтральном фоне, возможно все будет работать хорошо, но если это что - то сложное, как в моем случае - тессеракт - до свидание, он просто бесполезен, без предварительной обработки фото. Я уже молчу про динамические объекты - например изображение с вебки или игры или какого - либо окна( (речь идет именно о ТЕКСТЕ!)