Исправить ошибку в программе Visual C++ (библиотека Tesseract)

Бюджет: 10 000 руб
121.40 $ – 105.06 €
Заказчик выбрал исполнителя:
Эдуард Климов  
В разработке небольшая программа на VC++, распознающая фрагмент текста экрана и подающая сигнал, если он совпадает с контрольным значением.

Работа программы выглядит следующим образом.
- Снятие скриншота по таймеру (уже сделано).
- Для контроля сохранение скриншота в папку на диске (уже сделано).
- Распознавание фрагмента текста с помощью библиотеки Tesseract (здесь возникла ошибка).
- Распознанный текст или сообщение об ошибке сохраняется в файл (сделано).
- Воспроизведение сигнала (будет сделано).

Библиотека Tesseract успешно работала, однако после некоторых правок работать перестала. К сожалению, откатить изменения уже нет возможности.

Пометил в коде место, где имеет место проблема.

Возможно, конвертация из HBitmap (где содержится скриншот) в Bitmap (формат, необходимый для Tesseract) работает некорректно.

Насколько я вижу, в bmBits почему-то записывается 0.

Хотя, повторюсь, скриншот из HBitmap сохраняется корректно, т.е. данные картинки там есть.

Видимо, здесь какая-то очевидная неточность, но уже давно не программировал на VC++ и не могу её найти.

Но, думаю, для опытного профессионала решение данного вопроса будет достаточно простым.

Таким образом, задача – сделать так, чтобы снова заработала библиотека Tesseract и сохранила в файл какое-либо тестовое распознавание любой области экрана.

Помимо этого ничего делать не нужно.

Файлы проекта выложены на Яндекс.Диск, ссылку могу выслать по запросу.
Опубликован 08.09.2023 в 09:01 Последнее изменение: 08.09.2023 в 14:36

Выберите способ верификации:

Обновите страницу после прохождения верификации.