Как присоединиться к инициативе

Средства распознавания

Нужно установить программу оптического распознавания символов (OCR). Используется tesseract, как показавшая достаточное качество распознавания, в том числе и повёрнутых и некачественных изображений.

Установка tesseract:
apt-get install tesseract-ocr

По умолчанию tesseract поддерживает распознавание только английского языка. Поэтому нужно установить поддержку других языков.

Установка других языков распознавания:
apt-get install tesseract-ocr-rus, tesseract-ocr-deu

Список поддерживаемых языков имеется в документации к tesseract.

Средства обработки файла

В настоящее время работа вдётся только с файлами djvu. Для файлов pdf, к сожалению, не создано работоспособных средств постраничного распознавания и внедрения текстового слоя. Как только такие средства появятся - инициатива будет расширена и на распознавание pdf файлов.
Для постраничного распознавания и внедрения текстового слоя в файлы djvu используется программа ocrodjvu. К сожалению, в репозиториях операционных систем имеется слишком старая версия, а установка из репозитория python не разрешает зависимостей. Поэтому рекомендуется сперва ставить из репозитория операционной системы, а потом обновить из репозиторя python.

Установка ocrodjvu из репозитория операционной системы:
apt-get install ocrodjvu

Обновление ocrodjvu из репозитория python:
Установите pip, если его нет в вашей системе:
apt-get install pip
потом обновите ocrodjvu:
pip install --update ocrodjvu

Предполагается, что вы используете последние стабильные версии всех компонентов. Работоспособность системы со старыми версиями не гарантируется. Также предполагается, что если зависимости в пакетах python почему-либо не разрешились при установке - вы сможете поставить недостающее руками.

Так, например, скорее всего понадобится установить модуль html5lib:
pip install html5lib

Координирующий скрипт

Работа по распознаванию координируется скриптом massocr.py, архив с которым можно скачать по ссылке ниже. Предполагается, что раз запущенный, скрипт выполняет свою работу 24 часа в сутки, 7 дней в неделю, 12 месяцев в году... без вмешательства и обслуживания.
Скрипт обращается к управляющему серверу, адрес которого указан в файле settings.py, получает от него url файла, подлежащего распознаванию, скачивает файл, запускает ocrodjvu, а потом отсылает распознанный файл по адресу, переданному управляющим сервером.

В файле settings.py находятся основные параметры, необходимые для работы скрипта. Некоторые из них можно изменять:

Не меняйте другие параметры - это может нарушить нормальную работу скрипта. Так, переменная user содержит ваш персональный идентификатор. Его использование позволяет разрешить некоторые коммуникационные проблемы, и получать индивидуальную статистику. Перед первым запуском эта переменная пустая. Во время первого запуска (без параметра командной строки --test, см. ниже) идентификатор будет получен от управляющего сервера и записан в этот файл.

Координирующий скрипт имеет следующие параметры командной строки:
massocr.py [-i] [--test]

В работе скрипта используются модули python, которые могут отсутствовать в вашей конфигурации. Но все они есть в репозитории python.

Установка необходимых модулей:
pip install requests
pip install python-magic

О других средствах распознавания и обработки

Как видно из вышесказанного, для обработки и распознавания координирующий скрипт может вызвать любую консольную программу, указанную в переменной ocrengine. Это позволяет использовать не только рекомендуемый состав программного обеспечения, но и любой другой. Однако, если вы захотите пользоваться в рамках инициативы своими средствами распознавания и обработки - вы должны согласовать их применение с координатором, с тем, чтобы члены инициативы были уверены в достаточном качестве результата.

Если вы готовы присоединиться к инициативе - скачайте архив с координирующим скриптом и запустите его!