Почему Tesseract CLI показывает «не удается создать выходной файл» в Windows 7?

2

Я установил (или, по крайней мере, мне кажется, что я запустил установщик) tessearct-ocr на моей машине под управлением 64-битной Windows 7. Я пытаюсь взаимодействовать с программой через cmd. конвертировать .png изображение в текст.

я пытался

tesseract filename.png filename

и получил сообщение об ошибке не может создать выходной файл .

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

Я бы назвал себя новичком, который хочет научиться использовать cmd для запуска команд.

Андрей
источник
DOS? Серьезно? Или ты имеешь ввиду CMD?
Деннис Уильямсон
Ой, прости, я имею в виду Cmd.
Андрей

Ответы:

2

Была ли командная строка сформирована правильно?

Посмотрев документацию по tesseract-ocr , эта команда используется в Windows:

tesseract <image> <outputbasename> [-l lang] [configs]

В синтаксисе командной строки, <и >символы означают , что вам нужно указать параметр, и символы указывают на необязательный параметр, текст между описывает параметр.
[]

Итак, вам необходимо предоставить изображение и имя базы вывода:

  • image : Учитывая это имя, это должен быть абсолютный или относительный путь к поддерживаемому файлу; из того, что я вижу, поддерживаются JPEG, PNG и Tiff, так что filename.pngздесь все в порядке.

  • outputbasename : учитывая это имя, он запрашивает базу, которая в большинстве случаев является каталогом. Но с учетом этой операции будет более логичным выводить текст в файл, чем в каталог, если вы не собираетесь выводить несколько файлов. Так что filenameэто хорошо , если это базовый каталог, но вы также можете попробовать на filename.txtвсякий случай. В худшем случае это создаст каталог с именем filename.txt! ;-)

Из того, что я вижу, командная строка tesseract filename.png filenameпросто отлично.

Такой сайт, как Command Windows, может быть интересен, если вы хотите узнать больше о командной строке, оттуда вы можете заинтересоваться ссылками на командную строку и руководствами по пакетным скриптам.


Здорово! Но откуда берется ошибка и как ее решить?

Ошибки разрешения можно устранить с помощью Process Monitor , отфильтровав статусы с помощью ACCESS DENIED.

Но я предполагаю, что вы можете избежать этого, так как я подозреваю ошибку UAC. Попробуйте запустить командную строку от имени администратора и повторите команду еще раз в своей папке пользователя. Если это не сработает, попробуйте воспользоваться Process Monitor, а если это не сработает, не стесняйтесь комментировать для получения дополнительной помощи ... ;-)

Тамара Вийсман
источник
Спасибо за информацию о значении <> и []. Странная вещь сейчас заключается в том, что я не получаю никаких сообщений или каких-либо сообщений и не вижу созданный файл.
Андрей
Я даже не получаю сообщение об ошибке, когда путаю имя пути исходного изображения. Единственный раз, когда я получаю ошибку, это когда я пишу тессеракт неправильно.
Андрей
Что интересно, это когда я только начинал. Если я набрал «тессеракт», то мне рассказывали о том, как он принимал аргументы, но теперь он ничего не делает.
Андрей
Вы не получаете ошибку после использования UAC? Вы пытались указать полные пути для обоих параметров? Попробуйте отфильтровать Process Monitor по именам процессов, которые содержат «tesseract», чтобы увидеть, какие файлы создаются и где. Заблуждение об исходном изображении, не приводящее к ошибке, странно, был ли это случай, когда вы правильно написали tesseract? Кажется, плохо написанное программное обеспечение, если так ...
Тамара Вийсман
1
Хорошо, это работает. Проблема в том, что я не знаю, почему он был сломан. Теперь я должен выяснить, как улучшить результат, который ужасен. Спасибо за вашу помощь
Андрей