Модуль OCR Python в Linux?
Я хочу найти простой в использовании OCR-модуль python в linux, я нашел pytesser http://code.google.com/p/pytesser/, но он содержит .exe.
Я попробовал изменить код, чтобы использовать вино, и он действительно работает, но он слишком медленный и действительно не очень хорошая идея.
Есть ли альтернативы Linux, которые так же удобны в использовании?
Ответы
Ответ 1
Вы можете просто обернуть tesseract
в функцию:
import os
import tempfile
import subprocess
def ocr(path):
temp = tempfile.NamedTemporaryFile(delete=False)
process = subprocess.Popen(['tesseract', path, temp.name], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
process.communicate()
with open(temp.name + '.txt', 'r') as handle:
contents = handle.read()
os.remove(temp.name + '.txt')
os.remove(temp.name)
return contents
Если вам нужна сегментация документа и более сложные функции, попробуйте OCRopus.
Ответ 2
В дополнение к ответу Blender, который просто выполняет исполняемый файл Tesseract, я хотел бы добавить, что существуют другие альтернативы OCR, которые также можно назвать внешним процессом.
ABBYY comand line OCR utility: http://ocr4linux.com/en:start
Это не бесплатно, поэтому стоит подумать только о том, что точность Tesseract недостаточно хороша для вашей задачи, или вам нужен более сложный анализ макета или вам нужно экспортировать PDF, Word и другие файлы.
Обновление: здесь сравнение точности ABBYY и tesseract: http://www.splitbrain.org/blog/2010-06/15-linux_ocr_software_comparison
Отказ от ответственности: я работаю для ABBYY
Ответ 3
python tesseract
http://code.google.com/p/python-tesseract
import cv2.cv as cv
import tesseract
api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_DEFAULT)
api.SetPageSegMode(tesseract.PSM_AUTO)
image=cv.LoadImage("eurotext.jpg", cv.CV_LOAD_IMAGE_GRAYSCALE)
tesseract.SetCvImage(image,api)
text=api.GetUTF8Text()
conf=api.MeanTextConf()
Ответ 4
Вы должны попробовать отличные библиотеки scikits.learn для машинного обучения. Вы можете найти два кода, готовых запустить здесь и здесь.
Ответ 5
Здесь у вас есть несколько вариантов.
Один из способов, как указывали другие, - использовать tesseract. Похоже, теперь есть куча оберток, поэтому лучший способ - выполнить быстрый поиск pypi. Самые используемые в наши дни:
Другим полезным сайтом для поиска похожих движков является alternative.to. Ниже приведены несколько систем на основе Linux:
- ABBYY
- Тессеракт
- CuneiForm
- Ocropus
- GOCR