Как автоматизировать извлечение информации о пользователе из заполненной формы банковского счета - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь извлечь рукописную информацию из отсканированной формы открытия счета. Для этого я использую Python-библиотеку Python для извлечения текстовых данных. Но при использовании этого модуля у меня много ошибок в выводе, так как я получаю неровные символы.

Кроме того, поля в форме, в которой пользователь записывает свою личную информацию, такую ​​как имя, адрес, DOB и т. Д., Также вызывают проблемы, так как модуль pytesseract обнаруживает ее как букву «I». Так есть ли способ справиться с этими коробками?

Также есть ли другой способ решения этой задачи? если есть, пожалуйста, предложите. Это отсканированная форма, над которой я работаю

Ниже код, который я сделал

import matplotlib.pyplot as plt
import pytesseract
from PIL import Image
from nltk.tokenize import sent_tokenize, word_tokenize

image = Image.open('printer1.jpg')
print(image.info['dpi'])
image.save("new_img.jpg", dpi=(400,400)) # increased the dpi and saved it

new_img = Image.open('new_img.jpg')
width, height = new_img.size

new_size = width*2, height*2
new_img = new_img.resize(new_size, Image.LANCZOS) #sampling
new_img = new_img.convert('L') #converted it to grayscale

new_img = new_img.point(lambda x: 0 if x < 180 else 255, '1') 
#evaluatingevery single pixel in the image for binarization

plt.imshow(new_img)
plt.show()

text = pytesseract.image_to_string(new_img)
text_array = word_tokenize(text)
print(text_array)

Name_Data = text_array[text_array.index('Proof')+2 : 
text_array.index('FIRST')-1]
print(Name_Data)

Name = ""
for i in Name_Data:
   if i == 'I':
       pass
   else:
       Name += i

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