JAVA使用Tess4j识别图片内容
来源:互联网 发布:淘宝优惠券哪里领取 编辑:程序博客网 时间:2024/06/06 13:46
2017年5月29日 使用Tess4j识别图片内容
最近由于需要简单的识别图片的数字和字母内容,在网上找了不少最终决定使用tess4j,理由是写法很简单你仅需要几行代码就能实现。
首先你需要去下载Tess4j,下载地址为https://sourceforge.net/projects/tess4j/
下载解压完之后根目录有以下文件或文件夹
其中lib存放的是jar文件,lib里面的jar包根据各自的项目酌情添加,就行了;src里面存放的是Tess4j的源码,目前Tess4j下载下来的就是源码并没有提供jar包,因而可考虑是否打成jar包或者直接把src的内容直接拷贝到项目中,tessdata也需要放在项目的src中,我是放在src的一级子目录,还有就是lib里面有提供2个文件夹分别是win32-x86这个是win32位系统使用的dll,win32-x86-64这是win64位系统使用的dll,至于linux使用的so文件,官网并没有给出,我是在下载模块那边找到的,附上资源链接:http://download.csdn.net/detail/ljhleering/9740687
在win环境上win32-x86或者win32-x86-64文件夹是需要放在项目中的,tess4j会从项目中自动检索,而linux环境上需要将下载的so资源内的liblept.so.5文件和libtesseract.so放在java的java.library.path目录中才能使用,在linux使用过程中,可能会提醒加载不了Libjpeg.so.62文件或者libpng.so.12.0文件,一下是处理方式:
若提醒的是libjpeg.so.62文件无法加载:方法一,去该链接下载 https://pkgs.org/download/libjpeg.so.62;方法二,直接使用yum安装,安装命令为:yum -y install libjpeg-turbo
若提醒的是libpng.so.12文件无法加载,可去https://pkgs.org/download/libpng12.so.0 根据自己的linux版本下载或者使用yum安装,安装命令:yum -y install libpng12
做完这些我们就可以直接使用Tess4j进行图片识别了,目前我只试过字母和数字的,中文的会有乱码暂时没处理,以下是我写的一个例子,有点渣,请诸位大神不要吐槽,是直接传入图片url地址解析的: public static String imageToTel(String imgUrl) {
ITesseract instance = new Tesseract();
try {
URL url = new URL(imgUrl);
BufferedInputStream bis = new BufferedInputStream(url.openStream());
String realpath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
if(System.getProperty("os.name").toLowerCase().startsWith("win")) {
realpath = realpath.substring(1);
}
instance.setDatapath(realpath + "tessdata");
String result = instance.doOCR(ImageIO.read(bis));
if(StringUtils.isNotBlank(result))
return result.replaceAll("[ \n]", "");
} catch (Exception e) {
System.err.println("图片识别失败");
}
return null;
}
这是我第一篇博客,哪里写的有问题请各位大神多多谅解!
- JAVA使用Tess4j识别图片内容
- Java使用Tess4J 进行图片文字识别
- Java使用Tess4J 进行图片文字识别
- java使用Tess4j 识别图片文字
- Tess4J图片文字识别
- Java中使用tess4J进行图片文字识别(支持中文)
- linux系统如何使用tess4j(java)进行ocr图片文字识别
- Java OCR tess4j 图片识别技术(三)
- tess4j识别图片中的文字
- Java OCR(使用Tess4J)
- Tess4j的使用(识别中文)
- Java OCR文字识别(Tess4J)
- OCR图像识别技术的JAVA实现(二)之Tess4J的使用
- tess4j做图像识别
- java selenium tess4j识别验证码模拟登陆。
- tess4j 版本识别图片(版本3.1.0) 提示找不到模块
- Tess4J使用(A)
- Tess4j+中文识别+使用介绍文档+参考网址+实现源码下载地址
- LINUX摄像驱动一:V4L2大致框架及vivi初步分析
- Codeforces-788B Weird journey 欧拉回路
- 如何去解决fatal: refusing to merge unrelated histories
- java——io处理大文件
- hduProblem-1016简单dfs
- JAVA使用Tess4j识别图片内容
- Junit4测试套件的使用
- 多线程系列1:入门
- 用Maven创建一个Web项目
- Chapter 1 Section 1.1 Vocabulary
- Android.mk文件
- 微信支付
- 转义字符
- ZigBee_ADC数据位