Tesseract смешивает два числа

Я пишу приложение для сканирования чисел из изображения.

Числа используют шрифт OCR-B и могут также содержать символы + и >.

Это мое исходное изображение:

source image

Сканирование с использованием Tesseract было не очень хорошим, даже если ограничение персонажа задано указанными символами. Поскольку я не нашел никаких учебных файлов OCRB для Tesseract, я решил сам обучить его.

Я создал этот образ тренировки и сделал из него файл-бокс. Правильный файл окна, все буквы правильно совпадают.

Затем я сделал все шаги описанные здесь, чтобы создать другие необходимые файлы.

Используя этот недавно обученный набор OCR-B tessdata, я получаю довольно хорошие результаты на исходном изображении с одной маленькой ошибкой: все 1 ошибочно принимают за 8 и наоборот. Команда, обрабатывающая изображение, была

$ tesseract esr2c.tif ocrb-esr2c -l ocrb

и выход для исходного изображения был

0800000001456 > 8 00000195731208 8 01050008 023+ 08 0301226 > 20

Если вы замените все 1 и 8 и сравните их с исходным изображением, результат будет правильным (за исключением двух последних букв, которые я могу игнорировать).

Как это могло произойти? Я сделал какую-то ошибку в процессе обучения? Как я могу это исправить?

Ответы

Ответ 1

Вероятно, что где-то в вашем файле окна есть неправильные значения (символы) для 1 и 8. Вы можете проверить с помощью jTessBoxEditor. Если да, исправьте, восстановите файл данных языка и повторите попытку.

Ответ 2

Я обучил tesseract 2.04 после 1 месяца усилий для OCR расширенного шрифта. Он работает очень хорошо и показывает выше 90 Точность с размером шрифта 14.

Тренировочное изображение должно быть высоким. Контрастное изображение. Используйте редактор изображений "GIMP" и выполните следующие действия. Цвета меню- > Info- > Histgram-Read Std Значение отклонения colors- > Threshould → Write "Std Deviation value" как значение Threshould Сохранить изображение Используйте его для обучения.

Проверьте и отредактируйте свой файл окна с помощью "qt-box-editor-1.06.exe". Он очень прост в использовании. Проверьте все поля и символы в нем. Это очень важно. Где-то в вашем файле окна есть неправильные символы для 1 и 8.

Запустите другие cmds.