LINUX.ORG.RU

распознать текст из изображения?

 


0

1

Доброго времени года!

Возникала прикладная задача. надо распознать текст(URL) с экрана. Смотрю видео, в очередной раз URL показывают на экране, и не дублируют текстом в описании. Надоело набивать ручками. Нельзя ли это автоматизировать без кучи громоздких пакетов?

Желательно так:

  • запускаю какой скрипт, он предлагает выделить фрагмент экрана.
  • распознаёт текст и выдаёт в консоль, откуда был запущен.

Маленький нюанс - текст может идти не по одноцветному фону, а просто поверх картинки.

★★★

Последнее исправление: hikikomori (всего исправлений: 1)

Дарю бесплатно:

import -monochrome -synchronize  -resize 300% /tmp/ocrtmp.pnm ; tesseract /tmp/ocrtmp.pnm  - -l rus+eng --oem 3 quiet |  tr '\n' ' ' |tr -s " "|tr -d '\t\_\$\&\f' |  sed  -e 's/—/-/g; s/- //g;  s/\. /\.\n/g;  s/}/)/g;  s/{/(/g' |  xclip -selection c ; notify-send "OCR" "Скопировано в буфер"
einhander ★★★★★
()
Ответ на: комментарий от einhander

А какой пакет ставить? их куча…

$ yay -S tesseract
Sync Explicit (1): tesseract-5.3.4-1
разрешение зависимостей...
:: Найдено 128 поставщиков для tessdata:
:: Repository extra
   1) tesseract-data-afr  2) tesseract-data-amh  3) tesseract-data-ara  4) tesseract-data-asm  5) tesseract-data-aze
   6) tesseract-data-aze_cyrl  7) tesseract-data-bel  8) tesseract-data-ben  9) tesseract-data-bod  10) tesseract-data-bos

....

   120) tesseract-data-tur  121) tesseract-data-uig  122) tesseract-data-ukr  123) tesseract-data-urd  124) tesseract-data-uzb
   125) tesseract-data-uzb_cyrl  126) tesseract-data-vie  127) tesseract-data-yid  128) tesseract-data-yor


hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 2)
Ответ на: комментарий от einhander

Спасибо, опробовал. Но кажется он пытается читать по-русски. А мне нужно ссылки распознавать, они чаще английские. Что поменять в запросе? Интуитивная замена rus+eng на eng+rus дало ошибку Failed loading language eng.

Отчётливый текст из поля названия видео на ютубе:

Why Was the Commodore 1541 disk drive so slow?

Распознан как:

\УПу \Маз 1пе Соттодоге 1541 @5К апуе 50 Я10\/? 

=)

upd:

Догадался поставить библиотеку eng)))

Why Was the Commodore 1541 @5К drive 50 slow? 

Лучше, но всё равно распознавание сильно хромает. Но в любом случае спасибо, хоть что-то.

hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 3)
Ответ на: комментарий от einhander

Да, я немного фигню написал. Исправляюсь.

grimblast save area /tmp/ocrtmp.pnm ; tesseract /tmp/ocrtmp.pnm  - -l rus+eng --oem 3 quiet |  tr '\n' ' ' |tr -s " "|tr -d '\t\_\$\&\f' |  sed  -e 's/—/-/g; s/- //g;  s/\. /\.\n/g;  s/}/)/g;  s/{/(/g' |  wl-copy ; notify-send "OCR" "Скопировано в буфер"

Вот эта команда отлично работает в вяленде. Правда тут без обработки от имаджмэджика, но это как раз не проблема, добавить mogrify с нужными параметрами межу grimblast и tesseract.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

При одном обновлении система мне принудительно переключила иксы на вейланд. Пока я понял, почему накер перестали работать все важные приложения, проклял всё. Ни за что не буду его использовать в ближайшие года два.

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

Ни за что не буду его использовать в ближайшие года два.

А я умышленно перешел. До кучи ещё и на Hyprland тайлинговый с КДЕ. И могу сказать, что в моих задачах, мне стало намного удобнее.

скрипач без паката IM не нужен!

IM там легко вкрячивается. Там только захват не работает, но если его заменить, то он сам по себе на иксы не завязан и работает отлично.

Loki13 ★★★★★
()
Ответ на: комментарий от anonymous

Нашел замену висмуту?

Пришлось гуглить что это такое. В KDE я тайлингом не пользовался. Поэтому перешел на вяленда со сменой парадигмы. Теперь у меня отдельные тэги для рабочих подключений по рдп, отдельный для мессенджеров, отдельный для почты. Правда для пущего удобства пришлось наколхозить себе модулей для waybar и вообще скриптов разных, но это тема для отдельной темы в галереи. Как нибудь напишу.

Но вот сейчас приходится иногда пользоваться иксами(для стима) и я как ближайшее к Hyprland из иксового, взял i3. И что я могу сказать, он(под ним) глючит намного больше, чем «вяленная версия».

Loki13 ★★★★★
()
Ответ на: комментарий от hikikomori

Посмотрел у себя в загашнике, вместо tesseract используется cuneiform. Видимо в те времена tesseract был не очень хорош. Если хочется попробовать, то заменить часть с tesseract на:

cuneiform /tmp/ocrtmp.pnm -l ruseng --spell --stdout 
einhander ★★★★★
()