ocr图像识别技术,ocr图像识别

这期间,公司上面突然下起了需求。 根据用户提供的身份证和营业执照照片,获取照片中的信息如姓名、身份证号码、公司名称等),并存入数据库。 而且给的时间是两周,当时我很无知。 之后添加语言尽量使用免费的API真是太好了。 我内心想直接用收费的东西,但收费的东西一定用得很简单、舒服。 但是,免费的东西也首先研究了一下,在网上搜索了一下,基本上只有tess4j。 我直接看了代码看到了效果,说实话,即使看了这么多资料,对tess4j的了解也不多。 我想知道我想知道pom依赖

ependencygroupidnet.SourceForge.Tess 4j/groupidartifactidtess 4j/artifactidversion4.5.2/version/dependency 3358

import net.source forge.Tess 4j.itesseract; import net.source forge.Tess 4j.tessera CT; import net.source forge.Tess 4j.tesseractexception; import java.io.File; public class test { publicstaticvoidmain string [ ] args ) /标识图像的路径修改为自己的图像路径)/stringpath=’c:_sers ) _ TT ring //string path=’ c :\\ users\\ Tang\\ desktop\\图片\\其他图片2.png ‘; //语言库位置修改为您的语言库文件夹的路径) stringlagnguagepath=’ d :\\ Tess data ‘; filefile=newfilepath; itesseract instance=new tessera CT ; //设置培训库位置instance.set datapath lagnguagepath )//chi_sim :简体中文,eng可选语言库instance.set language ) string result=空; try { long start time=system.current time millis ; result=instance.doocrfile; longen dtime=system.current time millis ; system.out.println ‘ timeis:’ end time-start time ) ) 毫秒); }catchtesseractexceptione ) { e.printStackTrace ); } system.out.println result : ); system.out.printlnresult ); }在这里有几个必须注意修正的地方

图像位置语言库位置选择的语言库

在此下载语言库链接

github

最终结果如下

还是可以看到很多不正确的地方。 这个怎么办呢? 想着必须想办法提高准确度,又在网上搜索了一下。 基本上是优化语言训练库和openVC的方法。

openVC已经写了demo并上传到代码云。 这是地址

我试着拉了一下代码,作者的处理方法是在首页剪掉身份证号码的部分,交给后端识别,准确率几乎达到了99%。 但是,只有身份证号码对我来说不够,对住址、姓名等中文识别不太好。 一种优化语言训练资源库

参考Tesseract4.0训练词典OCR,我们也尝试了提高识别率所必须的超详细)文章。 方法应该是可行的,但是为了达到极高的精度应该需要大量的训练。 本文使用的这类图片基本没问题,但用于身份证和营业执照。 我觉得用训练过的照片识别还有差距,要减小误差需要巨大的数据量。

开源API这条路暂时走不通。

支付研究费吧。

参考

使用tess4j完成身份证和营业执照图像的文字识别

Java使用Tess4J实现简单的图像识别Maven版) ) ) )。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注