前几天公司领导有个想法就是识别发票图片,将需要的内容识别出来。我之前并没有做过类似的工作,于是我就拿了一些发票仔细观察,发现了一些共同点,贴一张我下载的电子发票:
1、发票都有发票代码,发票号码。
2、发票都有二维码。
3、发票都是以表格形式给出,表格形式大同小异。
那就根据这几点可有以下解决方案可供参考:
1、发票可以使用发票代码和发票号码作为查询条件来查询票面信息。这种属于开放接口的方式,但是这些接口并不容易找到,或者获取这些接口的使用权并不容易。
2、识别二维码。我试过使用支付宝的扫码功能来识别发票上的二维码,从扫描结果上看,可能是因为地域差异二维码识别出来的信息格式并没有统一标准。贴个图片体会一下:
3、通过图片识别,这个需要技术。
调用接口和识别二维码我不多说了,这里主要说一下图片识别我所能想到的思路。说一下前提:我要识别的是电子发票,没有考虑字体模糊不清,打印重叠等问题。
首先要识别图片上的信息,肯定要对图片做处理。计划首先识别图片上的表格,再识别文字信息。
识别表格要用到opencv,
识别文字用Google的tesseract-ocr
这些只是我的一些想法,当然有很多不成熟甚至不对的地方。如有老司机请带带我啊。