При извлечении текста из изображения с помощью pytesseract сначала печатаются числа, а затем печатаются строки - PullRequest
0 голосов
/ 29 мая 2020

При извлечении текста из изображения с помощью pytesseract сначала печатаются числа, а затем печатаются строки. Почему это происходит?

Это мое входное изображение .

import cv2
import pytesseract
from pytesseract import Output
from PIL import Image
imginput = cv2.imread('ss.png')
x,img1 = cv2.threshold(imginput, 180, 255, cv2.THRESH_BINARY)
img = Image.fromarray(img1)
d = pytesseract.image_to_string(img, output_type=Output.DICT)
print(d)

Мой результат:

'text': ** '71. \ N \ n72. \ N \ n73. \ N \ n74. \ N \ n75. \ N \ n76. \ N \ n77. \ N \ n78. \ N \ n79. \ N \ n80. ** n \ nВыберите синоним слова «депозитарий»: \ n \ n (A) наследник (B) подопечный (C) патрон (D) попечитель \ nПятая глава состоит из трех разделов. \ n (A) из ( B) с (C) без предлога (D) на \ n \ nАнтоним слова 'abortive': \ n (A) _ успешный (B) репродуктивный (C) мгновенный (D) плодотворный \ n \ n слово для человека, который сомневается в религиозных практиках: \ n (A) _ stoi c (B) scepti c (C) теист (D) пантеист \ n \ nИдиома «закопать топор» означает. \ n (A) сохранять вражду (B) открывать вражду (C) прекращать вражду (D) нет вражды \ n \ nВиктор редко навещает своего дядю, добавьте правильный вопрос-тег. \ n (A) не так ли? (B) разве нет? (C) а? (D) не так ли? \ N \ n «Халил Джебран - один из величайших поэтов мира». Выберите сравнительную степень \ n предложения. \ N \ n (A) Халил Джебран более велик, чем многие другие поэты мира. \ N (B) Халил Джебран более велик, чем любой другой поэт мира. \ N (C) Халил Джебран более великий, чем любые другие поэты мира. \ N (D) Халил Джебран - величайший поэт мира. \ N \ nПассивная форма выражения «Я храню свои книги здесь». это: \ n (A) Мои книги хранятся здесь (B) Мои книги хранятся здесь \ n (C) Я хранил книги здесь (D) Мои книги хранятся здесь \ n \ nВыберите правильно написанное слово. \ n \ n (A) Созвездие (B) Консистенция \ n (C) Заговор (D) Консерватория \ nНам нужны еще два игрока в команду. Предложите подходящий фразовый глагол. \ N (A) make out (B) make up (C) make for (D) make of \ n11 052/2019 - M \ n \ n {PT0} '}

1 Ответ

0 голосов
/ 09 июня 2020

Попробуйте запустить с другими режимами сегментации:

Page segmentation modes:
  0    Orientation and script detection (OSD) only.
  1    Automatic page segmentation with OSD.
  2    Automatic page segmentation, but no OSD, or OCR. (not implemented)
  3    Fully automatic page segmentation, but no OSD. (Default)
  4    Assume a single column of text of variable sizes.
  5    Assume a single uniform block of vertically aligned text.
  6    Assume a single uniform block of text.
  7    Treat the image as a single text line.
  8    Treat the image as a single word.
  9    Treat the image as a single word in a circle.
 10    Treat the image as a single character.
 11    Sparse text. Find as much text as possible in no particular order.
 12    Sparse text with OSD.
 13    Raw line. Treat the image as a single text line,
       bypassing hacks that are Tesseract-specific.

Добавьте вот так:

# Example of adding any additional options.
custom_oem_psm_config = r'--psm 6'
pytesseract.image_to_string(image, config=custom_oem_psm_config, output_type=Output.DICT)
...