Преобразование изображения, идентифицированного PyTesseract, в массив - PullRequest
0 голосов
/ 29 марта 2020

У меня есть изображение со списком чисел, которые я отсканировал, используя PyTesseract для построения строки. Конкретно, вот код:

from PIL import Image
import pytesseract
from scipy import stats
import numpy as np

pytesseract.pytesseract.tesseract_cmd = r'C:\\\Program Files\\\Tesseract-OCR\\\tesseract.exe'

str1=pytesseract.image_to_string(Image.open('D:/Image.png'))

Вот изображение, которое я сканирую:

image

Проблема в том, что PyTesseract сканирование изображения в виде отдельных символов вместо целых чисел.

Я хотел бы понять, почему это происходит и что я могу сделать, чтобы получить желаемый результат.

Короче говоря, PyTesseract не сканирует целые числа в списке чисел, а сканирует их как отдельные персонажи. Как мне сказать, чтобы он сканировал целые числа и помещал их в массив?

1 Ответ

1 голос
/ 31 марта 2020

Что ж, если вы хотите получить только список, используйте re.split и strip, чтобы решить его (потому что результат tesseract содержит некоторые ошибки).

Вы можете попробовать это:

import pytesseract
import re

data = pytesseract.image_to_string('OCR.png')
dataList = re.split(r',|\.| ',data) # split the string
resultList = [int(i.strip()) for i in dataList if i != ''] # remove the '' str and convert str to int.
print(resultList)

# result: [71, 194, 38, 1701, 89, 76, 11, 83, 1629, 48, 94, 63, 132, 16, 111, 95, 84, 341, 975, 14, 40, 64, .......
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...