Какие утилиты OCR из командной строки будут работать в 64-разрядной версии Windows 7?
3 ответа
Я думаю, что Tesseract - лучшее (бесплатное) программное обеспечение для распознавания текста из командной строки. К сожалению, не существует 64-разрядной версии Windows 7, поэтому вам придется скомпилировать ее самостоятельно; Вот инструкции для этого (взяты из комментария на странице часто задаваемых вопросов Tesseract):
Скачать тессеракт 2.04. Распакуйте его. В этом примере я распаковал в C:\projects\tesseract-2.04. Windows 7 до сих пор не понимает .tar.gz из коробки. Я рекомендую получить копию 7-Zip.
Загрузите необходимые языковые файлы. Мне нужен немецкий и английский. Я распаковываю их в подкаталог tessdata в C:\projects\tesseract-2.04\tessdata.
Установите libtiff. В моей (64-разрядной) системе рекомендуемый каталог установки - C:\Program Files (x86)\GnuWin32?. Под этим каталогом находится множество подкаталогов, содержащих файлы, которые нам понадобятся для компиляции tesseract с поддержкой tiff, а именно include, bin и lib.
Добавить C:\Program Files (x86)\GnuWin32?\bin к переменной окружения PATH, чтобы выходной файл tesseract.exe мог найти библиотеку libtiff. Запустить снова.
Откройте vc решение (tesseract.sln)
Измените конфигурацию решения на режим "Release". Обратите внимание, что если вы позже вернетесь в режим отладки, вам нужно будет снова настроить все следующее ...
В обозревателе решений щелкните правой кнопкой мыши узел решения (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
Теперь откройте окно свойств проекта для проекта Тессеракт (не решение). В обозревателе решений щелкните правой кнопкой мыши проект tesseract и выберите Свойства. Перейдите в ужасный список опций в Свойства конфигурации -> C/C++ -> Препроцессор и добавьте HAVE_LIBTIFF в список Определений препроцессора. Это приводит к включению связки #include в коде.
Вы также хотите добавить "Дополнительную зависимость". перейдите в раздел "Дополнительные зависимости" для свойств проекта и добавьте libtiff.lib.
Постройте решение. Смотрите список ошибок. Если вы получаете кучу ошибок 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.
JOCR - единственный, кого я знаю, который может работать на окнах и основан на командной строке. Посмотреть их веб-страницу здесь
Есть инсталлятор для windows 7 для тессеракта. Я только что установил его и получил, чтобы сделать OCR на маленьком изображении. Результат был ужасным, но я надеюсь, что с некоторыми настройками я смогу улучшить результаты.