Подтвердить что ты не робот

Какие варианты OCR существуют за пределами Tesseract?

Я немного использовал Tesseract, и это дает много желаний. В настоящее время я обнаруживаю очень маленькие изображения (35x15, без границы, но попытался добавить один с imagemagick без преимущества ocr); они варьируются от 2 символов до 5 и являются довольно надежным шрифтом, однако символы достаточно переменны, что просто использовать контрольную сумму размера изображения или нет, это не сработает.

Какие опции существуют для OCR, помимо того, что вы придерживаетесь Tesseract или выполняете его самостоятельно?. Было бы очень полезно, если бы это было совместимо с хором стиля Heroku (по крайней мере, где я могу скомпилировать бункеров и засунуть их).

4b9b3361

Ответ 1

Я успешно использовал GOCR в прошлом для небольшого OCR изображения. Я бы сказал, что точность составляла около 85%, после того, как параметры оттенков серого были установлены правильно, на довольно обычных шрифтах. Он терпит неудачу, когда шрифты усложняются и возникают проблемы с многострочными макетами.

Также посмотрите Ocropus, который поддерживается Google. Это связано с Tesseract, но из того, что я понимаю, его движок OCR отличается. Только с включенными стандартными моделями он достигает почти 99% точности на высококачественных изображениях, отлично справляется с оформлением и предоставляет HTML-вывод с информацией о форматировании и строках. Однако, по моему опыту, его точность очень низкая, когда качество изображения недостаточно. Это, как говорится, обучение относительно просто, и вы можете попробовать попробовать.

Оба из них легко можно вызывать из командной строки. Использование GOCR очень простое; просто введите gocr -h и у вас должна быть вся необходимая информация. Ocropus немного сложнее; здесь пример использования в Ruby:

require 'fileutils'
tmp = 'directory'
file = 'file.png'

`ocropus book2pages #{tmp}/out #{file}`
`ocropus pages2lines #{tmp}/out`
`ocropus lines2fsts #{tmp}/out`
`ocropus buildhtml #{tmp}/out > #{tmp}/output.html`

text = File.read("#{tmp}/output.html")
FileUtils.rm_rf(tmp)

Ответ 2

Мы используем OCR XTR Lite от Vividata в моем офисе. Он использует механизм ScanSoft и очень точен, но не является бесплатным решением. В настоящее время он создается с помощью bash, и я обрабатываю его с 75 000 до 150 000 страниц в день. Точность почти идеальна и автоматически поворачивает изображения для определения ориентации OCR.