我正在研究银行收据的OCR问题,我需要提取诸如日期和帐号之类的详细信息。在处理了输入之后,我使用了Tessaract OCR(在python中使用pyteserract),我获得了hocr输出文件,但是我无法理解怎么了我们是否从HOCR输出文件中提取信息?请注意,收据上的数字和普通表格一样都是用方框填写的。在
我用下面的文字提取。应该我用不同的编码?在
import os
if os.path.isfile('output.hocr'):
fp=open('output.hocr','r',encoding='UTF-8')
text=fp.read()
fp.close()
在注:附件图像就是一个例子数据。这些图像在pdf文件中可用,我正在以编程方式将其转换为图像。在
您只需提供图像作为输入,而不是处理和创建HOCR输出文件。在
尝试:-
该程序接收要通过OCR运行的图像的位置,并从中提取文本,将其存储在变量
text
中,然后将其打印出来。如果需要,也可以将text
中的数据存储在单独的文件中。在p.S.:-与tesseract处理的图像相比,您尝试处理的图像过于复杂。因此,在处理文本之后,您可能会得到不正确的结果。我绝对建议您在使用之前对其进行优化,例如减少使用的字符集,在将图像传递给OCR之前处理图像,对图像进行上采样,dpi超过250等等
我个人会用一些更像tesseract的东西来做OCR,然后可能用opencv和surf来做勾选框。。。在
甚至可以用opencv和surf对每个部分进行边缘检测,并对特定区域进行ocr,从而通过分析特定区域而不是整个文档,使其更加健壮。。在
相关问题 更多 >
编程相关推荐