首页 > 编程知识 正文

java使用reduce实现map,java图像识别

时间:2023-05-06 03:52:15 阅读:179351 作者:1801

最近需要用Java制作能识别图像的东西,我调查了资料。 在此处编写基于Tess4J的教程,方便他人参考和使用。

其实要识别图像,使用TESSERACT-OCR也可以实现,但这种方式需要下载软件并在电脑上安装环境,可移植性不高。 要使用Tess4J,只需下载相关的Jar包,导入项目,封装项目,就可以在任何地方运行。

首先,下载Tess4J的相关资源(压缩包)。 官方网站: http://Tess 4j.source forge.net/code sample.html。

解冻。 目录结构如下。

需要使用其中包围的3个文件夹中的东西。 lib文件夹下包含所需的Jar包,tessdata包含语言库,缺省情况下包含英语库,必须单独下载中文库。 下载地址: https://github.com/tessera CT-ocr/Tess data/blob/master/chi _ _。

创建新的Java项目,将lib和tessdata文件夹复制到项目的根目录下,找到dist文件夹下的tess4j.jar (名称中可能有版本号),然后将其文件

项目的目录如下。

lib的文件如下。 tess4J.jar也位于该目录中。

然后在eclipse中打开该项目,并将lib文件夹中的所有jar包----configurebuildpath ()导入到项目中。 导入后的结果如下。

这样就完成了前期准备,下一个代码就会留下来。 Tess4J的代码很简洁,如下所示。

Tess4JTest.java

包ocr; import net.source forge.Tess 4j.itesseract; import net.source forge.Tess 4j.tessera CT; import net.source forge.Tess 4j.tesseractexception; import net.source forge.Tess 4j.util.loadlibs; import java.io.File; import java.io.IOException; /** * Tess4J测试类*/public class Tess4jtest { publicstaticvoidmain (string [ ] args ({ string path=' d ://Java/) itesseract instance=new tessera CT (; 获取/**项目根目录的路径。 示例: d :idea workspaceTess 4j */filedirectory=new file (path ); string course file=空; try { course file=directory.getcanonicalpath (; }catch(ioexceptione ) { e.printStackTrace ); //培训库位置instance.set datapath (course file (//Tess data ) ); instance.setlanguage('eng ); //chi_sim :简体中文,eng根据需要选择语言库String result=null; try { long start time=system.current time millis (; result=instance.doocr(file; longen dtime=system.current time millis (; system.out.println (' timeis:' (end time-start time ) ) (毫秒); }catch(tesseractexceptione ) { e.printStackTrace ); } system.out.println (result : ); system.out.println(result ); }就这样结束了。

效果如下。

原图:

读取结果:

从结果来看,精度还有待提高。 l和1是分不开的。 0和o也分不清。 汉字的精度更低。 大家可以自己训练词典的优化。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。