首页 > 解决方案 > 从 OCR 图像文件中提取文本

问题描述

我正在尝试从 OCR 图像中提取几个字段。我正在使用 pytesseract 读取 OCR 图像文件,这按预期工作。

代码 :

import pytesseract
from PIL import Image
import re

pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract- 
OCR\tesseract.exe"

value = Image.open("ocr.JPG")
text = pytesseract.image_to_string(value)
print(text)

输出 :

ALS 1 Emergency Base Rate
Y A0427 RE ABC
Anbulance Mileage Charge

Y A0425 RE ABC
Disposable Supplies
Y A0398 RH ABC

184800230, x

接下来,我必须从文本中提取 A0427 和 A0425 .. 但问题是我没有遍历整行.. 它一次占用一个字符,这就是我的正则表达式不起作用的原因..

代码:

for line in text :
    print(line)
    x= re.findall(r'^A[0-9][0-9][0-9][0-9]', text)
    print(x)

标签: regexpython-3.xpython-tesseract

解决方案


也摆脱那个 for 循环,只使用

x= re.findall(r'A[0-9][0-9][0-9][0-9]', text)

没有任何循环。('也删除 ^')


推荐阅读