财务福音。用Python+OCR人工智能识别发票自动存入Excel表格保姆级教程_开源发票识别(2)

本文详细描述了如何使用Python和OCR技术(如pyocr和Tesseract)处理发票图片,提取发票号码、税额和销方名称,强调了图片质量对识别精度的影响,并提供了完整的代码示例和优化建议。
摘要由CSDN通过智能技术生成

源代码

1. 读取发票

ocr = CnOcr()``tool = pyocr.get_available_tools()[0]`
`img_url = "pic/fp01.jpg"``with open(img_url, 'rb') as f:`    `a = f.read()``new_img = PI.open(io.BytesIO(a))``new_img.show()

2. 提取发票号码

def text1(new_img):`
    `left = 1530`    `top = 80`    `right = 1830`    `bottom = 160`    `    image_text1 = new_img.crop((left, top, right, bottom))`
    `#image_text1.show()`    `txt1 = tool.image_to_string(image_text1)`    `#print(txt1)`    `return txt1`    `# print(text1(new_img))

left、top、right、bottom就是图片的四个顶点坐标,数值可以经过多次修正而定,大家根据自己的发票内容去定位即可,如果想兼容性强一些,可以让框子尽可能大,以保证每一张发票都能准确框住该位置。这也要求发票的各照片不能差距太大,尽量按统一标准拍摄,以保证各字段相对位置变化不会太大,否则一旦框不住需要的字段,就无法识别。如果所有发票都是格式统一的电子发票则不存在此问题。

print(pyocr.get_available_tools()[0])

可以看出pyocr就是直接调用的tesseract。接着利用ocr把图片变成字符串。

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值