Распознавание текста (OCR) в Linux

Вам приходилось распознавать отсканированные документы под linux? Мне нет, но вот пришлось, слышал есть свободные аналоги, и вроде все хорошо. Вроде…

Как оказалось, есть 2 основных свободных консольных движка, cuneiform и tesseract, с них я и начал.

Сперва поставил cuneiform, но как его не крутил, он мне выдавал buffer overflow, и сыпал дампами в консоль, в общем вел себя крайне не прилично. Снес его нафиг.  Ставил из репозитория, версия 1.1.0+dfsg-4.

Следующим на очереди был tesseract-ocr, версия в репе была 3.03.02-3, ее и поставил. В Debian\Ubuntu для этого нужно установить 2 пакета:

tesseract-ocr,
tesseract-ocr-rus

Остальные встанут автоматом. Документ распознался с первого раза без танцев с бубном. Опции подсмотрел тут: https://habrahabr.ru/post/153617/, в результате команды:

tesseract input.png output.txt -l rus -psm 6

получил нормальный текст, разбитый по блокам как и в оригинале, без единой ошибки (правда качество скана было хорошее). -psm 6 означает:

6 = Assume a single uniform block of text.

В общем задачу он свою выполнил, но мне интересно стало, неужели нет ни одного нормального gui приложения? Я конечно не надеялся на уровень abby finereader, но все же.

Оказалось – есть. Причем есть кроссплатформенные решения на java, а есть gui к вышеупомянутым движкам. По понытным причинам гуй для cuneiform  я искать не стал, потому поставил YAGF и OCRFeeder. Читать

Как работает reCAPTCHA?

Источник
В обсуждении моего недавнегоперевода замечательнейшей статьи про CAPTCHA несколько раз появлялись вопросы насчет reCAPTCHA, а именно как же эта система работает. Под катом я в общих чертах объясню суть reCAPTCHA, наглядно покажу как она работает и каким же образом она цифрует книжки.

Читать