Здравствуйте,форумчане!
Максим,мне показалось,что ты неплохо разобрался в вопросах установки и использования ocrdesktop,
поэтому я прошу тебя-
объясни мне,пожалуйста,некоторые моменты использования ocrdesktop,
Особенно сосредоточ внимание на том,
как создать ярлык для вызова и назначить горячие клавиши.
Ну и укажи то,что нужно для начала использования ocrdesktop.
Заранее благодарю.
«Ocrdesktop» является инструментом доступности, принцип работы которого заключается в следующем: он принимает изображение рабочей области или окна, предобрабатывает его для наиболее лучшего распознавания, и распознаёт это изображение при помощи «Tesseract». После этого - появляется графическое окно с текстовым содержимым окна или рабочей области в целом, т.е. тот самый результат распознавания. Поддерживается эмуляция клика по тексту, соответствующему графическим элементам интерфейса. По клавише «F10» можно попасть в меню, которое предоставляет множество опций. Навигацию по тексту, традиционно, можно осуществлять курсорными стрелками.
Для настройки «Ocrdesktop» нужно лишь назначить горячие клавиши в настройках рабочего окружения, на команду «ocrdesktop». Ну и, разумеется, с дополнительными параметрами, поскольку язык распознавания по умолчанию будет Английским, да и другие параметры могут тоже быть отличными от нужных для конкретного пользователя. Можно назначать разные горячки накоманду «ocrdesktop» с разными параметрами под различные ситуации. Можно так же вызывать «Ocrdesktop» через стандартный диалог выполнения команд, который присутствует в любом рабочем окружении (к примеру в «MATE» или «GNOME» он вызывается по комбинации клавиш «Alt+F2»).
Принцип использования «Ocrdesktop» следующий: в окне приложения, интерфейс которого нужно распознать, или находясь на рабочей области, вызываем «Ocrdesktop» с нужными параметрами. Сразу обращаю внимание на то, что на первый взгляд, с точки зрения пользователя, ничего не произойдёт, но это обманчивое впечатление. Нужно лишь подождать пока «Ocrdesktop» справится со своей задачей. Результатом работы «Ocrdesktop» станет появление того самого окна с распознаным текстом, о котором уже упоминалось выше.
Так же – «Ocrdesktop» предоставляет два режима просмотра, переключатся между которыми можно при помощи комбинации клавиш «Ctrl+v», или же используя пункт меню «Toggle View»:
1. Режим обзора (активен по умолчанию). По сути это обычный просмотр текста как в текстовом редакторе, при чём текстовые элементы визуально совпадают (или по крайней мере должны совпадать, т.к. я не могу это проверить) с тем, как расположены элементы в графическом интерфейсе приложения, из которого этот текст удалось получить. Тут можно осуществлять навигацию как в любом тексте, ну и активировать элементы кликая по их текстовому названию;
2. Режим детализации. Представляет собой табличный список распознаных слов. Для каждого такого слова, можно просмотреть его атрибуты. В этом списке, как и во многих ему подобных, стрелками вверх и вниз осуществляется перемещение по строкам; А стрелками вправо-влево - по ячейкам. Если в настройках «Orca» включено представление таблиц, то при перемещении по строкам, «Orca» будет читать её полностью, т.е. все её столбцы.
Иными словами - находим какое-нибудь слово стрелками вверх-вниз, и стрелками вправо-влево смотрим атрибуты. Они могут быть такими (иду стрелкой вправо):
1. столбец с тем самым словом, которое я выбрал (называется этот столбец «OCR Text»);
2. «Fontsize» (размер шрифта). Иногда эта информация может пригодится;
3. «Color» (цвет);
4. «Object» (Обьект, но в данном случае имеется в виду тип элемента: текст, кнопка, и т.д.);
5. Атрибуты «X Position» и «Y Position» указывают на координаты обьекта на экране. Тоже наверное как и в случае со шрифтом и цветом, в ряде ситуаций, может служить подсказкой в каком-то контексте; Однако нужно учитывать то что значение этих атрибутов может отличатся от реальных в силу обьективных причин;
6. И последний атрибут - «Confidence». Он характеризует, в процентах, уверенность в правильности распознавания обьекта (тоесть насколько, образно говоря, мы можем доверять результату распознавания). Соответственно - чем меньше значение этого атрибута, тем больше у нас есть оснований полагать, что результаты значений атрибутов для того или иного обьекта, будут частично или полностью ошибочными.
В идеале, при работе с распознаным текстом, должно не портится позиционирование курсора. Если курсор сфокусирован на слове каком-нибуть, то при переключении режима просмотра, курсор должен там и остатся. Скажем - если в режиме обзора курсор стоит на первом символе слова, то при переключении в режим детализации, курсор должен оказатся на том же слове, тоесть в самом первом столбце строки с этим словом.
«Ocrdesktop» так же поддерживает параметры командной строки, которые, в той или иной мере, находят своё отображение в виде пунктов меню. Ниже я кратко опишу эти параметры, указывая как оригинальное название пункта меню, так и параметр командной строки, позволяющий более тонко настроить соответствующий ему функционал. Можно, назначая горячую клавишу, или вызывая «Ocrdesktop», комбинировать эти параметры командной строки, для получения лучшего результата распознавания. После появления окна с получившимся текстом, можно уже через меню изменить какой-то параметр или параметры, после чего либо нажать «F5», либо выбрать в меню пункт «Retry OCR», после чего запустится процес перераспознавания уже с теми параметрами, которые были изменены через меню. Таким образом - можно, методом проб и ошибок, попытатся получить лучший возможный результат распознавания. Крис допускает вероятность того, что он реализует автоопределение оптимальных значений параметров для конкретной ситуации в будущем («Ocrdesktop» будет пытатся самостоятельно подобрать оптимальные параметры для конкретного изображения).
Прежде всего - стоит пару слов написать об указании языков распознавания. параметр «-l» отвечает за это. Языки указываются в трёхбуквенном формате; И между ними ставится знак плюса (без пробелов). Пример:
ocrdesktop -l ukr+eng
или
ocrdesktop -l rus+eng
Или можно вобще три языка или больше указывать:
ocrdesktop -l ukr+eng+rus
Следующий параметр - инверсия цветов. Может улучшить результат распознавания в тех случаях, когда цвета в исходном тексте вызывают проблемы. В командной строке это параметр «-i»; Вграфическом интерфейсе - в подменю «OCR Options» пункт «Invert».
Оттенки серого: параметр командной строки «-g»; В графическом интерфейсе - то же подменю, пункт «Grayscale». Суть в том, что, насколько я это понимаю, цвета удаляются вобще, остаётся только шкала оттенков серого. Это может привести к меньшей путанице на стороне «Tesseract».
Метод чёрно-белого барьера: чаще всего приводит к лучшим результатам распознавания. При использовании этого метода, оттенки серого всегда активны. Параметр командной строки «-b» активирует этот метод; А параметр «-t» устанавливает значение барьера (0 - белый цвет, а 255 - чёрный). По умолчанию, параметр «-t» установлен в значение 200. Эти параметры, нужно использовать в паре. Примеры:
ocrdesktop -b -t 180
ocrdesktop -l ukr+eng -b -t 255
В графическом интерфейсе - то же подменю, пункт «Barrier Black White».
Этот метод, действительно, даёт существенное улучшение результатов распознавания, поскольку всё сводится к чёрному и белому цветам, и нет никаких артефактов, связаных с цветностью.
Параметр командной строки «-d» указывает на то, что нужно распознать не текущее окно, а рабочую область (тоесть, как это ещё называют, рабочее место).
Эмулировать клавиши мыши, можно либо при помощи комбинаций клавишь, либо из меню, раздел «Interact». Ниже описываю пункты меню, и горячие клавиши к ним:
«Left Click» (Ctrl+l): одиночный клик левой клавишей мыши;
«Double Click» (Ctrl+d): двойной клик левой клавишей мыши;
«Right Click» (Ctrl+r): одиночный клик правой клавишей мышки;
«Middle Click» (Ctrl+m): одиночный клик средней клавишей мышки;
«Route To» (Ctrl+t): наводит курсор мыши на обьект, на котором находится фокус (обычный курсор). Иногда это бывает нужно.
«Ocrdesktop» так же предоставляет возможность отправить результат распознавания в буфер обмена. Для этого, при вызове «Ocrdesktop», можно указать параметр «-c». В результате - откроется графическое окно с результатом распознавания, однако копия будет находится в буфере обмена. Можно так же не запускать графический интерфейс (параметр командной строки «-n».
Если есть желание использовать эти два параметра в связке, то можно их обьеденить под одним знаком «-». Тоесть вызывать их как один параметр «-cn».
В графическом же интерфейсе - пункт меню «Send to Clipboard», соответственно, отправляет результат распознавания в буфер обмена. Действует так же сочетание клавиш «Ctrl+b».
Этой информации достаточно для того, что бы использовать «Ocrdesktop» в большинстве случаев, когда он нужен. Я намеренно пропустил некоторые моменты. К примеру - я не рассказал о режиме отладки; А так же о макросах, которые используются в том числе и как часть концепции Preclicks. Краткий смысл затеи состоит в том что бы решить проблему большинства рабочих окружений: когда пользователь находится в каком-нибудь меню, то он лишается возможности воспользоватся комбинацией клавишь. Иными словами - открыв контекстное меню программы не доступной для средств специальных возможностей, незрячий пользователь не сможет распознать это меню, т.к. комбинация клавишь просто не сработает. Можно попросить «Ocrdesktop» в начале сэмулировать нажатие клавиши (для открытия к примеру контекстного меню ), а затем запустить процес распознавания.
Ну и не упомянул я об эмуляции клавишь, и о некоторых тонкостях концепции метода чёрно-белого барьера.
Если вдруг случится так, что макросы и концепция Preclicks будет нужна, то я напишу и об этом. Просто эта концепция создана для выхода из очень стрёмных ситуаций, возможно тебе это и не понадобится. Сам я не использовал ещё Preclicks и макросы, т.е. таких ситуаций, когда бы пришлось повседневно использовать не доступную для спец-возможностей программу, у меня ещё не было. Баланс между использованием интерфейса командной строки и графического интерфейса позволяет решать мне мои задачи.