OCR в системах Linux [закрито]


14

Я завжди вважав, що технологія OCR відстає від систем з відкритим кодом. Я також спостерігав за проектом Ocropus з самого народження. Я спробував те, що я чув, що це найкращий двигун OCR, доступний для Linux, Tesseract , і виявив, що йому дуже не вистачає ділових документів. Чи є інші більш перспективні реалізації OCR? Що щодо ще більш сподіваної мети тлумачення почерку? Що можливо в * nix системах у цій галузі?


1
Чи слід це перенести на програмні версії?
Jeff Schaller

@Jeff, мабуть, ні, враховуючи, що це майже сім років. Відтоді багато чого сталося. Деякі з них у OCR ... ;-)
roaima

Відповіді:


4

Тессеракт

Станом на 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сценарій).


Я спробував клинопис. Він добре працює, якщо вам потрібно розпізнати відскановані зображення (а не фотографії). Я використовував Yagf як графічний інтерфейс.
Сергій

3

Я знайшов подібне запитання щодо StackOverflow і Asprise OCR SDK , одного з пов'язаних комерційних продуктів, який може похвалитися версією Linux.


Хоча це посилання може відповісти на питання, краще включити сюди суттєві частини відповіді та надати посилання для довідки. Відповіді лише на посилання можуть стати недійсними, якщо пов’язана сторінка зміниться. - З огляду
Томас

1
@Thomas посилання є єдиною можливою відповіддю, оскільки посилання вказує на певний інструмент, як вимагає ОП. Не всі відповіді лише на посилання є поганими. Це дає назву конкретного програмного забезпечення та посилання на його веб-сторінку. Навіть якщо посилання розривається, ви все одно зможете знайти його з назви.
тердон

1

Є кілька популярних інструментів командного рядка OCR:

  • Tesseract ( ReadMe , FAQ ) (Python)

    Також доступний для: Tesseract .NET , Tesseract iOS

    Система OCR, розроблена в лабораторіях HP між 1985 і 1995 роками ... і тепер у Google. Tesseract - це, мабуть, найбільш точний доступний OCR з відкритим кодом.

    Використання:

    tesseract [inputFile] [outputFile] [-l optionalLanguageFile] [PathTohOCRConfigFile]
    

    Приклад: Зробіть доступ до пошуку в PDF (OCR) за допомогою командного рядка / скрипту

  • GOCR

    Розпізнавання символів з відкритим кодом. Він перетворює скановані зображення тексту назад в текстові файли. GOCR може використовуватися з різними передніми частинами, що робить його дуже легким для порту на різні ОС та архітектури. Він може відкривати безліч різних форматів зображень, і його якість щодня покращується.

  • OCRopus ™ ( FAQ ) (написано на Python, NumPy та SciPy)

    Система OCR, орієнтована на використання широкомасштабного машинного навчання для вирішення проблем в документообігу, що включає аналіз підключення макетів, розпізнавання символів, що підключаються, статистичне моделювання природної мови та багатомовні можливості.

    Двигун OCRopus базується на двох дослідницьких проектах: високоефективний розпізнавальний почерк, розроблений в середині 90-х і розгорнутий Бюро перепису США, та нові високоефективні методи аналізу верстки.

    OCRopus спонсорується розробкою, спонсорується Google і спочатку призначений для великої пропускної спроби з великим обсягом перетворення документів. Ми очікуємо, що це також буде чудовою системою OCR для багатьох інших застосувань.

  • Tessnet2 (Open Source, OCR, Tesseract, .NET, DOTNET, C #, VB.NET, C ++ / CLI)

    Tesseract - це C ++ з відкритим кодом OCR. Tessnet2 - це .NET збірка, яка розкриває дуже прості методи для OCR. Tessnet2 має ліцензію Apache 2 (наприклад, tesseract), тобто ви можете користуватися нею, як хочете, включеною до комерційних продуктів.

Інші вже запропоновані: ABBYY CLI OCR для Linux , Asprise OCR .

Читайте також:

Щоб отримати більш повний список, перевірте: Список програмного забезпечення для оптичного розпізнавання символів у Вікіпедії.


0

... OCR - це більше, ніж "лише розпізнавання символів". Обробка зображень, попередня обробка - аналіз сторінки / макета для пошуку текстів, зображень, таблиць або штрих-кодів. Для розпізнавання вам доведеться мати різні шрифти, розміри та мови. Це важливо, оскільки для отримання хороших результатів вам потрібно використовувати словники та мовні визначення. Нарешті, люди очікують більше варіантів експорту, ніж тексту (наприклад, XML, RTF або PDF-файл, на якому можна шукати). Є кілька комерційних варіантів для SDK, але вони недешеві і безкоштовно.

Нещодавно я знайшов OCR CLI для Linux від ABBYY . Існує безкоштовна пробна версія на 100 сторінок.


0

Якщо у вас є бюджет, я настійно рекомендую ABBYY FineReader Engine CLI для Linux . Наша компанія використовує його у нашому веб-додатку вже рік і плануємо поновити ліцензію. Дуже хороша якість розпізнавання, інтерфейс командного рядка, розпізнавання багатьма мовами.


2
Цей продукт вже згадувався в попередній відповіді . Будь ласка, не дублюйте відповіді!
Девід Фоерстер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.