Как получить данные определенных полей из строки без меток полей, извлеченных из изображения с помощью tesseract-ocr - PullRequest
0 голосов
/ 22 ноября 2018

Я написал программу, которая просит пользователя загрузить изображение лицензии DMV и считывает сведения о лицензии DMV из загруженного изображения, используя tesseract ocr .У меня есть часть работы с тессерактом, которая в некоторой степени хорошо работает.У меня есть необработанная строка, и теперь мне нужно проанализировать эту строку, чтобы получить сведения о пользователе.Проблема в том, что некоторые поля в лицензии DMV не имеют меток.Как имя, адрес и т. Д. Мне нужно получить эти детали.Я не могу придумать идею (может быть, я могу использовать регулярные выражения, но не знаю, как заставить его работать?).Если кто-то уже сделал это, я бы с удовольствием посмотрел.,Любое предложение будет приветствоваться.

Изображение:
DMV LICENSE PICTURE

КОД
Вот код для чтения загруженногофайл и получить текст из изображения, используя tesseract.

    from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
try:
    from PIL import Image
except ImportError:
    import Image
import pytesseract

# replace the path with the path to tesseract installation directory on server.
pytesseract.pytesseract.tesseract_cmd = "C:\Program Files (x86)\Tesseract-OCR\\tesseract.exe"

@csrf_exempt
def upload_dmv(request):
    if request.method == "POST":
        dmv = request.FILES['dmv']
        extracted_data = pytesseract.image_to_string(Image.open(dmv))
        print(extracted_data)
    return HttpResponse(b'OK')  

Выход

W YORK STALE
DRIVER Ee C{ENeSae
876 071652

BOGADO
PETER,GIOVANNI.

9520 93RD ST FL 2
OZONE PARK, NY 114116

SexM_ Height6'-02" Eyes BRO:
00806/06/1992

Expires 06/06/2018
ENONE
RB

Issued 03/09/2017

Usa

~e-h.

Crecutive Deputy Comminsioner of Motor

Class E
...