Тессеракт
Станом на 2018 рік найкращим доступним програмним забезпеченням OCR з відкритим кодом є Tesseract 4 (бета-версія) з новою моделлю OCR нейронної мережі LSTM . Його продуктивність OCR значно краща, ніж попередня модель OCR, що використовується у версії 3.
Приклад (створити PDF-файл output.pdf
із текстовим шаром для відсканованого німецького документа):
$ echo page-*.png > input.list
$ tesseract --oem 1 -l deu input.list output pdf
Роздрукуйте розпізнаний текст у stdout:
$ tesseract --oem 1 -l deu page page-0001.png stdout
Список встановлених мов:
$ tesseract --list-langs
Підтримка досить багатьох мов / сценаріїв доступна у формі завантажених навчальних наборів даних , наприклад, є навіть набір даних для Fraktur.
З новою моделлю LSTM Tesseract отримує деяке натхнення від дослідницького проекту OCRopus .
Тессеракт версії 3 виконує відносно погано навіть на вхідних зображеннях хорошої якості, тобто часто помилково виявляє поодинокі символи в пилових пікселях (поза будь-яким текстовим контекстом) і легко вводить поодинокі помилки символів у відомі слова.
Клинопис
Продуктивність Cuneiform OCR не така вже й погана, але вона не підтримується активно (останній реліз у 2011 році, версія 1.1) і легко виходить з ладу і має деякі інші проблеми:
- Помилки сегментації з різними пакетами та випусками
- алгоритм його компонування просто порушений, тобто в документах з одним стовпцем абзаци часто випадковим чином переміщуються навколо
- вона не помиляється на невідомих параметрах
Ви можете відключити алгоритм компонування таким чином:
$ cuneiform --singlecolumn -l ger -f text -o foo.txt image-0001
( -l
вказує мову вихідного документа)
ocrad
$ ocrad -F utf8 image-0001
Текст друкується за замовчуванням на stdout.
У діловому документі він пропустив підкреслене слово, де клинопис / tesseract / gocr не робив.
gocr
$ gocr image-0001
Текст друкується за замовчуванням на stdout.
Обладнання
Sane має дуже гарну підтримку для багатьох автоматизованих сканерів подачі документів (АПД), наприклад, для Avision та Fujitsu .
У комплекті Sane входить програма scanimage
командного рядка, яку ви можете використовувати для побудови сценаріїв сценарію сканування (див., Наприклад, мій adf2pdf.py
сценарій).