regex - 如何使用 tesseract-ocr 从字符串中获取特定字段数据,而无需从图像中获取字段标签
问题描述
我编写了一个程序,要求用户上传 DMV 许可证图片并使用tesseract ocr从上传的图片中读取 DMV 许可证详细信息。我已经完成了 tesseract 部分的工作,在某种程度上做得很好。我有一个原始字符串,现在我需要解析该字符串以获取用户详细信息。问题是 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
解决方案
推荐阅读
- python - 我怎样才能让所有 ifs 在我的 python 代码中工作,而不仅仅是第一个?
- python - Prettytable vrules and hrules to none
- adfs - OAuth2 代理无法处理从 ADFS 返回的值
- javascript - 如何在 D3.js 中创建具有不相等刻度间隔的轴
- python - 共享库中应该包含的未定义符号?
- docker - 当一项服务失败时回滚整个 swarm
- java - 双点“..”语法在 AspectJ 中是如何工作的?
- python - 使用for循环按函数创建字典
- google-cloud-dataflow - 结合 groupByKey 和未绑定的流
- c# - .net 核心中的 Web Api 找不到 GraphQL 所需的服务