Pytesser неточно - PullRequest
       4

Pytesser неточно

4 голосов
/ 08 мая 2011

Простой вопрос. Когда я запускаю это изображение через pytesser, я получаю $+s. Как я могу это исправить?

EDIT

Итак ... мой код генерирует изображения, похожие на изображение, связанное выше, только с разными номерами, и должен решить простую математическую задачу, которая, очевидно, невозможна, если все, что я могу получить из картинки, это $+s

Вот код, который я сейчас использую:

from pytesser import *

time.sleep(2)
i = 0
operator = "+"
while i < 100:
    time.sleep(.1);
    img = ImageGrab.grab((349, 197, 349 + 452, 197 + 180))
    equation = image_to_string(img)

Тогда я собираюсь приступить к анализу equation ... как только у меня заработает pytesser.

Ответы [ 2 ]

2 голосов
/ 08 мая 2011

Попробуйте мою маленькую функцию. Я запускаю tesseract из репозитория svn, поэтому мои результаты могут быть более точными.

Я нахожусь в Linux, поэтому в Windows, я думаю, вам придется заменить tesseract на tesseract.exe, чтобы он заработал.

import tempfile, subprocess

def ocr(image):
  tempFile = tempfile.NamedTemporaryFile(delete = False)

  process = subprocess.Popen(['tesseract', image, tempFile.name], stdout = subprocess.PIPE, stdin = subprocess.PIPE, stderr = subprocess.STDOUT)
  process.communicate()

  handle = open(tempFile.name + '.txt', 'r').read()

  return handle

И пример сеанса Python:

>>> import tempfile, subprocess
>>> def ocr(image):
...   tempFile = tempfile.NamedTemporaryFile(delete = False)
...   process = subprocess.Popen(['tesseract', image, tempFile.name], stdout = subprocess.PIPE, stdin = subprocess.PIPE, stderr = subprocess.STDOUT)
...   process.communicate()
...   handle = open(tempFile.name + '.txt', 'r').read()
...   return handle
... 
>>> print ocr('326_fail.jpg')
0+1
1 голос
/ 08 мая 2011

если вы в linux, используйте gocr , чтобы быть более точным.вы можете использовать его через

os.system("/usr/bin/gocr %s") % (sample_image)

и использовать readlines из stdout для манипулирования выходным результатом для всего, что вы хотите (т.е. для создания вывода из gocr для определенной переменной).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...