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

Модуль OCR Python в Linux?

Я хочу найти простой в использовании OCR-модуль python в linux, я нашел pytesser http://code.google.com/p/pytesser/, но он содержит .exe.

Я попробовал изменить код, чтобы использовать вино, и он действительно работает, но он слишком медленный и действительно не очень хорошая идея.

Есть ли альтернативы Linux, которые так же удобны в использовании?

4b9b3361

Ответ 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