首页 > 解决方案 > 如何使用 tesseract-ocr 从字符串中获取特定字段数据,而无需从图像中获取字段标签

问题描述

我编写了一个程序,要求用户上传 DMV 许可证图片并使用tesseract ocr从上传的图片中读取 DMV 许可证详细信息。我已经完成了 tesseract 部分的工作,在某种程度上做得很好。我有一个原始字符串,现在我需要解析该字符串以获取用户详细信息。问题是 DMV 许可证上的某些字段没有标签。比如姓名、地址等。我需要获取这些详细信息。我想不出主意(也许我可以使用正则表达式,但不知道如何让它工作?)。如果有人已经这样做了,我很乐意看看。. 任何建议都会受到欢迎。

图片:
DMV 执照图片

代码
这是读取上传文件并使用 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

标签: regexpython-2.7tesseractstring-parsingpython-tesseract

解决方案


推荐阅读