java 图片识别 tess4j_图像文字识别(四):java调用tess4j识别图像文字

转自:https://blog.csdn.net/a745233700/article/details/80203340java

java调用tess4j识别图像文字

Tesseract-OCR支持中文识别,而且开源和提供全套的训练工具,是快速低成本开发的首选。前面记录过在java中调用tesseract-orc,该方法的原理是经过在java中调用cmd命令行,来执行tesseract,可是该方式须要下载软件,在电脑上安装环境,移植性不高。git

而Tess4J则是Tesseract在Java PC上的应用。若是使用Tess4J只须要下载相关Jar包,导入项目,再把项目封装好就能够到处运行了,可移植性比较好。Tess4J在英文和数字识别中性能比较好,可是在中文识别中,不管速度仍是识别率仍是较弱,所以须要针对场景进行训练,才能得到较好结果。github

这篇博客简单记录一下在java中经过调用tess4j的方式识别图片的文字内容。maven

步骤:工具

(1)下载tess4j源码包:https://sourceforge.net/projects/tess4j/性能

tessdata下默认为英语库,中文库下载地址:https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata测试

其余库的下载地址:https://github.com/tesseract-ocr/tessdataui

下载完的tess4j资源包目录以下:.net

3c4bdceac0a676bd5762771bcb1bc9b3.png

(2)新建一个java工程:命令行

使用Build Path -> configure build path导入dist目录下的tess4j.jar 和 lib目录下的全部jar包,以下图:

d15efa7c3480be1a2b3bd02d6e887a03.png

若是是maven工程则导入如下maven依赖。

net.sourceforge.tess4j

tess4j

3.2.1

(3)把tessdata文件夹复制到项目的根目录下(与src目录同级),以下图:

460313e0e3d98d68a4bcea2ae25dbd74.png

若是tessdata目录没有配置到根目录下,就须要在代码中指定datePath。

(4)编写测试类:

import java.io.File;

import net.sourceforge.tess4j.ITesseract;

import net.sourceforge.tess4j.Tesseract;

import net.sourceforge.tess4j.TesseractException;

/**

* 类说明 : tess4j测试类

*/

public class OCRDemo {

public static void main(String[] args) throws TesseractException {

ITesseract instance = new Tesseract();

//若是未将tessdata放在根目录下须要指定绝对路径

//instance.setDatapath("the absolute path of tessdata");

//若是须要识别英文以外的语种,须要指定识别语种,而且须要将对应的语言包放进项目中

instance.setLanguage("chi_sim");

// 指定识别图片

File imgDir = new File("C://Users//1_20180208150251_x4hzz//1.png");

long startTime = System.currentTimeMillis();

String ocrResult = instance.doOCR(imgDir);

// 输出识别结果

System.out.println("OCR Result: \n" + ocrResult + "\n 耗时:" + (System.currentTimeMillis() - startTime) + "ms");

}

}

(5)图片素材与识别结果:

6a2f640348e8791d8f61cb6b208c282f.png

3c0704d3f346443e5740b47b0cb18ab1.png

能够看到,tess4j在中文识别时,不管速度仍是识别率仍是较弱,须要针对场景进行训练,才能得到较好结果。

---------------------

做者:a745233700

来源:CSDN

原文:https://blog.csdn.net/a745233700/article/details/80203340

版权声明:本文为博主原创文章,转载请附上博文连接!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql in转换为join_同一个SQL语句,为啥性能差异咋就这么大呢?(1分钟系列)

《数据库允许空值,往往是悲剧的开始》一文通过explain来分析SQL的执行计划,来分析null对索引命中情况的影响,有不少朋友留言,问explain结果中的type字段,ref,ALL等不一样的值究竟是什么含义。今天花1分钟简…

java rmi接口 超时设置_Spring RMI客户端读超时设置 | 学步园

标准Java的RMI设置我所知道的有三种方式,其中第1、2种不区分框架均适用,但影响整个JVM级别的RMI服务1. 启动时设置sun.rmi.transport.tcp.responseTimeout,单位是毫秒java -Dsun.rmi.transport.tcp.responseTimeout502.在应用程序中设置环境变…

python黑客库长安十二时辰 更新_【Python成长之路】python 从零学爬虫 -- 没时间看《长安十二时辰》电视剧怎么办?直接爬取所有剧情吧!...

【写在前面】最近大火的《长安十二时辰》真的是好看,算的是良心网剧了。但是由于平时工作时间较长,经常无法准时追剧,并且又因为不想见到元裁那对挨千刀的(作为演员,演技是值得肯定的,角色演绎的让人看的心烦)。因此就…

java字符串笔试题_五道Java常见笔试题及答案汇总

1、String和StringBuffer的区别?答:Java平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行…

遥感原理与应用孙家炳_2.2遥感应用模型

章节概览遥感应用模型是遥感的一种定量化手段,通常在遥感领域有一个更广为人知的名词——定量遥感。但是定量遥感是一种方法模型而非技术手段,随着科学的发展,热门越来越体会到定量遥感的必要性。定量遥感的应用是十分广泛的,也是…

python升级命令debian_debian python 2.7.11 升级

首先下载源tar包可利用linux自带下载工具wget下载,如下所示:下载完成后到下载目录下,解压tar -zxvf Python-2.7.11.tgz进入解压缩后的文件夹cdPython-2.7.11在编译前先在/wp-content/local建一个文件夹python27(作为python的安装路径&#xf…

mysql必学十大必会_MYSQL 学习(一)--启蒙篇《MYSQL必知必会》

MYSQL必知必会一. DDL 数据定义语言Data Definition Language 是指CREATE,ALTER和DROP语句。DDL允许添加/修改/删除包含数据的逻辑结构,或允许用户访问/维护数据(数据库,表,键,视图......)的逻辑结构。DDL是关于“元数…

python连接wifi_python 自动重连wifi windows的方法

如下所示:# codingutf-8import urllib2import urllibfrom cookielib import CookieJarimport osimport reimport timeclass ConnectWeb(object):def __init__(self):self.cookiejarinmemory CookieJar()self.opener urllib2.build_opener(urllib2.HTTPCookieProce…

java for新循环_Java 8 新语法习惯 (for 循环的函数替代方案)

我们看这样一个示例public class ForDemo {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("Get set...");for (int i 0; i < 4; i) {System.out.println(i"...");}}}测试结果Get set...0...1...2...…

喜马拉雅 xm文件转m4a_喜马拉雅电台、课程语音如何转成文字?

今天看了一篇文章“AI面前人类一败涂地”就是说了AI的发展让所有的事情几乎都可以实现科技化&#xff0c;无需人工操作&#xff0c;工作效率还比人工要高很多。这样说来的确是这样。语音转换也是其中一门技术&#xff0c;人们现在对于语音的交流很多&#xff0c;比如社交软件的…

java url特殊字符转义字符_URL中包含有特殊字符,进行转义

String temp URLEncoder.encode(json);URL中的特殊字符有些符号在URL中是不能直接传递的&#xff0c;如果要在URL中传递这些特殊符号&#xff0c;那么就要使用他们的编码了。编码的格式为&#xff1a;%加字符的ASCII码&#xff0c;即一个百分号%&#xff0c;后面跟对应字符的A…

java 多重注解_Java注解-元数据、注解分类、内置注解和自定义注解

大家好&#xff0c;我是乐字节的小乐&#xff0c;上次说过了Java多态的6大特性|乐字节&#xff0c;接下来我们来看看Java编程里的注解。Java注解有以下几个知识点&#xff1a;元数据注解的分类内置注解自定义注解注解处理器Servlet3.0本文先介绍前面4个知识点&#xff1a;元数据…

python getattr函数_Python中的getattr()函数详解

在计算机编程中&#xff0c;自省是指这种能力&#xff1a;检查某些事物以确定它是什么、它知道什么以及它能做什么。自省向程序员提供了极大的灵活性和控制力。自省(introspection)&#xff0c;在计算机编程领域里&#xff0c;是指在运行时来判断一个对象的类型的能力。它是Pyt…

ie8不兼容java项目_常见IE8兼容性问题及解决

1、css3媒体查询IE8不支持媒体查询解决&#xff1a;respond.js&#xff0c;在页面中所有css文件的引用位置之后引用Respond.js2、HTML5新标签IE8不支持H5新标签解决&#xff1a;html5shiv.js&#xff0c;在页面中引用html5shiv.js文件。必须添加在页面的元素内&#xff0c;因为…

python对图像二值化_python如何二值化图像

在python中二值化图像的方法&#xff1a;首先将图片转化为灰色图像&#xff1b;然后自定义灰度界限&#xff1b;最后输入“photoImg.point(table,1)”命令(table为自己创建的数组名)即可二值化图像。# 图片二值化代码如下&#xff1a;from PIL import Imageimg Image.open(tes…

Java快速提升_java快速复习 一 基础语法

最近看很多算法书&#xff0c;比较不错的有不少都是java语言描述&#xff0c;所以用一天时间快速研究并整理java &#xff0c;参考资料&#xff1a;java入门经典Call this file "Example2.java".class Example2 {public static void main(String args[]) {int a&…

酷狗音乐linux版_酷狗音乐概念版APP内测获用户好评:极简化,更高级

这两天在网上冲浪的时候&#xff0c;发现不少网友都在安利一个叫做“酷狗音乐概念版”的APP&#xff0c;难道是酷狗又在闷声搞大事了&#xff1f;搜了一下发现&#xff0c;原来是酷狗音乐概念版APP已经开始进入内测阶段&#xff0c;尝试着下载使用&#xff0c;果然发现“更酷更…

java 计算器类图_多态计算器(封装、继承、多态、简单工厂)

一.封装向对象程序设计中&#xff0c;一个非常重要的技术便是封装&#xff0c;也就是把客观事物封装成抽象的类&#xff0c;并且类可以把自己的数据和方法只让可信的类或者对象操作&#xff0c;对不可信的进行信息隐藏。这样做的好处在于可以使类内部的具体实现透明化&#xff…

图书管理系统 java 源码_[源码和文档分享]基于C语言和SQL SERVER数据库实现的图书管理系统...

摘 要本文根据《数据库应用系统设计》课程要求而做。选择图书馆管理系统设计与开发是因为觉得图书馆管理系统对我们的帮助很大&#xff0c;并且经常去图书馆&#xff0c;对图书馆的大部分功能及流程还是比较了解&#xff0c;而且现在有些地方可能还不够完善。这次课程设计目标是…

java useragent 360 遨游 火狐_各种浏览器UserAgent一览表(桌面+移动)

桌面IE而IE各个版本典型的userAgent如下&#xff1a;Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)其中&#x…