3

Какие утилиты OCR из командной строки будут работать в 64-разрядной версии Windows 7?

3 ответа3

4

Я думаю, что Tesseract - лучшее (бесплатное) программное обеспечение для распознавания текста из командной строки. К сожалению, не существует 64-разрядной версии Windows 7, поэтому вам придется скомпилировать ее самостоятельно; Вот инструкции для этого (взяты из комментария на странице часто задаваемых вопросов Tesseract):

  1. Скачать тессеракт 2.04. Распакуйте его. В этом примере я распаковал в C:\projects\tesseract-2.04. Windows 7 до сих пор не понимает .tar.gz из коробки. Я рекомендую получить копию 7-Zip.

  2. Загрузите необходимые языковые файлы. Мне нужен немецкий и английский. Я распаковываю их в подкаталог tessdata в C:\projects\tesseract-2.04\tessdata.

  3. Установите libtiff. В моей (64-разрядной) системе рекомендуемый каталог установки - C:\Program Files (x86)\GnuWin32?. Под этим каталогом находится множество подкаталогов, содержащих файлы, которые нам понадобятся для компиляции tesseract с поддержкой tiff, а именно include, bin и lib.

  4. Добавить C:\Program Files (x86)\GnuWin32?\bin к переменной окружения PATH, чтобы выходной файл tesseract.exe мог найти библиотеку libtiff. Запустить снова.

  5. Откройте vc решение (tesseract.sln)

  6. Измените конфигурацию решения на режим "Release". Обратите внимание, что если вы позже вернетесь в режим отладки, вам нужно будет снова настроить все следующее ...

  7. В обозревателе решений щелкните правой кнопкой мыши узел решения (Solution 'tesseract') и выберите "Свойства". Перейдите в "Свойства конфигурации" и выберите "Освободить" конфигурацию из выпадающего списка в верхней части окна. Перейдите к: Инструменты -> Параметры -> Проекты и решения -> Каталоги VC++. Здесь мы будем добавлять полные пути для подкаталогов lib и включать их из установки libtiff, чтобы VC мог найти требуемый заголовок (.h) и статическую библиотеку. (.lib) файлы. В этом примере они: $ (ProgramFiles?)\GnuWin32?\include $ (ProgramFiles?)\GnuWin32?\lib, поскольку я использую переменную окружения. Однако я мог бы просто написать их как C:\Program Files (x86)\GnuWin32?\включают. Измените раскрывающийся список "Показать каталоги" на "Включить файлы". Добавьте следующее: $ (ProgramFiles?)\GnuWin32?\include Теперь измените раскрывающийся список "Показать каталоги" на "Библиотечные файлы". Добавьте следующее: $ (ProgramFiles?)\GnuWin32?\ Lib

  8. Теперь откройте окно свойств проекта для проекта Тессеракт (не решение). В обозревателе решений щелкните правой кнопкой мыши проект tesseract и выберите Свойства. Перейдите в ужасный список опций в Свойства конфигурации -> C/C++ -> Препроцессор и добавьте HAVE_LIBTIFF в список Определений препроцессора. Это приводит к включению связки #include в коде.

  9. Вы также хотите добавить "Дополнительную зависимость". перейдите в раздел "Дополнительные зависимости" для свойств проекта и добавьте libtiff.lib.

  10. Постройте решение. Смотрите список ошибок. Если вы получаете кучу ошибок LNK2109, это означает, что компоновщик не может найти что-то из ссылок tesseract. Вы пропускаете ссылку на один из путей из libtiff. Если вы получаете сообщение об ошибке mt.exe, возможно, вы столкнулись с ошибкой в SDK. Просто попробуйте построить снова. см. http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=106634 для получения дополнительной информации.

Если / когда решение будет успешно построено, файл tesseract.exe будет находиться в том же каталоге, что и файл решения tesseract. перетащите сюда многостраничный сжатый tiff и попробуйте запустить tesseract. например, если ваш tiff называется in.tif и вы хотите вывести текст в out.txt, а язык документов - немецкий, тогда ваша командная строка будет выглядеть так:

tesseract.exe in.tif out -l deu В выходной файл будет добавлен файл .txt с помощью tesseract. Если вы просто переводите английский текст, то вы можете не указывать опцию -l, так как tesseract предполагает "eng", если вы ничего не указали. Если ваш tif-файл имеет расширение .tiff, то tesseract будет выглядеть так:

C:\projects\tesseract-2.04> tesseract.exe in.tiff out -l deu Tesseract С открытым исходным кодом OCR Engine name_to_image_type: Ошибка: Нераспознанный тип изображения: in.tiff IMAGE:: read_header: Ошибка: Не удается прочитать этот тип изображения: in.tiff tesseract.exe: Ошибка: Сбой чтения файла: in.tiff

Надеюсь (скрестив пальцы, хе), теперь у вас есть файл OCR'd out.txt, который находится в C:\projects\tesseract-2.04.

1

JOCR - единственный, кого я знаю, который может работать на окнах и основан на командной строке. Посмотреть их веб-страницу здесь

0

Есть инсталлятор для windows 7 для тессеракта. Я только что установил его и получил, чтобы сделать OCR на маленьком изображении. Результат был ужасным, но я надеюсь, что с некоторыми настройками я смогу улучшить результаты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .