Распознавание текста с помощью tesseract и Ruby

Распознавать текст на Ruby вы можете с помощью библиотеки Tesseract. Она разрабатывалась HP с 80х годов, после чего её купил Google и открыл исходные коды где-то в 2006 году. С тех пор мы можем использовать её под лицензией Apache 2.0.

Автор . Дата: 03.11.2014

Распознавать текст на Ruby вы можете с помощью библиотеки Tesseract. Она разрабатывалась HP с 80х годов, после чего её купил Google и открыл исходные коды где-то в 2006 году. С тех пор мы можем использовать её под лицензией Apache 2.0. Сегодня мы рассмотрим как подключить её к нашему Ruby приложению.

Для работы нам нужно будет установить tesseract-ocr и leptonica и файлы заголовков. Естественно, вам будет нужен C++ компилятор. Если ваш дистрибутив имеет -dev пакеты, то ставить вам нужно именно их. Например на Debian они называются libleptonica-dev и libtesseract-dev.

После установки библиотек вам нужно будет установить сам gem:

gem install 'tesseract-ocr'

Рассмотрим простой пример:

require 'tesseract'

e = Tesseract::Engine.new {|e|
  e.language  = :eng
  e.blacklist = '|'
}

e.text_for('test/first.png').strip # => 'ABC'

Здесь мы подключаем tesseract, создаем новый объект с параметрами языка и черного списка символов. После чего выполняем метод text_for, аргументом которого является ссылка на картинку, и получаем готовый текст. Все просто :-)