java tess4j 示例_java 使用tess4j实现OCR的最简单样例[通俗易懂]

java tess4j 示例_java 使用tess4j实现OCR的最简单样例[通俗易懂]网上很多教程没有介绍清楚tessdata的位置,以及怎么配置,并且对中文库的描述也存在问题,这里介绍一个最简单的样例。1、使用maven,直接引入依赖,确保你的工程JDK是1.8以上net.sourceforge.tess4jtess4j4.3.12、实现代码publicclassOCRDemo{publicstaticvoidmain(Stringargs[])throwsExce…

大家好,又见面了,我是你们的朋友全栈君。

网上很多教程没有介绍清楚tessdata的位置,以及怎么配置,并且对中文库的描述也存在问题,这里介绍一个最简单的样例。

1、使用maven,直接引入依赖,确保你的工程JDK是1.8以上

net.sourceforge.tess4j

tess4j

4.3.1

2、实现代码

public classOCRDemo {public static void main(String args[]) throwsException {

ITesseract instance= newTesseract();

instance.setDatapath(“tessdata”); //相对目录,这个时候tessdata目录和src目录平级//instance.setDatapath(“E:\\myProgram\\java\\ocrdemo\\tessdata”);//支持绝对目录

instance.setLanguage(“chi_sim”);//选择字库文件(只需要文件名,不需要后缀名)

try{

File imageFile= new File(“d:\\temp\\4.jpg”);

String result= instance.doOCR(imageFile);//开始识别

System.out.println(result);//打印图片内容

} catch(Exception e) {

System.out.println(e.toString());//打印图片内容

}

}

}

3、这里一定要注意tessdata的目录位置

70570f47e416b4b6a99b8d86d7e1cfc9.png

你从上面下载的不是真正的训练字库,你需要真正找到字库才行。

5、真正的中文字库是比较大的,用notepad++打开文件看看确认是否是真的字库,不然程序会报错误,无法打开chi_sim.traineddata文件,

1865143b400d2c412827b56d6ef09198.png

6、识别的效果一般,复杂的表格识别需要自定义识别区域

识别的图片:

b788ba23dc4b1feb250c5d9c6649a283.png

识别后的文字:

. 防 火 塔 系 统

防 火 埋 作 为 不 同 网 络 或 网 络 安 全 城 之 间 信 息 的 出 入 口 能 根 据 企 业 的 安 全 策 畦 接 制

出 人 网 络 的 信 息 流 口 本 身 具 有 较 强 的 抗 攻 击 能 力 「 它 是 提 供 信 息 安 全 服 务 实 现 网

络 和 信 息 宗 全 的 基 蛎 设 施 . 在 逐 辐 上 , 防 火 境 是 一 个 分 离 器 限 制 器 和 分 析 器 , 可

以 有 效 勘 接 内 部 网 和 Intemet 之 间 的 任 何 活 动 「 保 证 内 部 网 络 的 安 全 . 防 火 墙 通 常

放 在 外 部 Intemet 网 和 内 部 网 络 之 间 , 以 保 证 内 部 网 络 的 安 全 . 。

防 火 埕 对 流 经 它 的 网 络 通 信 进 行 扫 揽 , 泉 样 能 够 过 滁 掉 一 些 攻 击 , 以 免 其 在 目 标 计

算 机 上 被 执 行 “ 仿 火 墙 运 可 以 伟 闭 不 使 用 的 堵 口 而 丝 它 还 能 菲 止 特 定 堡 口 的 流 出

通 信 封 锁 特 洛 伊 木 马 曝 后 「 它 可 以 蔡 止 来 自 特 殊 站 点 的 访 问 仕 而 防 止 来 自 不 明

人 促 者 的 所 有 通 信 。 。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145200.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 学习记录03(网页挂马)

    学习记录03(网页挂马)网页挂马将木马程序上传到网站,使用木马生成器生成一个网马,放到网页空间,在添加代码使木马在网页打开时运行常见的几种方式将木马伪装成页面元素,木马被浏览器自动加载到本地利用脚本运行的漏洞下载木马利用脚本运行的漏洞释放隐含在网页脚本中的木马将木马伪装成缺失的组件。或和缺失的组件绑在一起(flash播放插件等)通过脚本运行调用某些com组件,利用其漏洞下载木马在渲染页面内容的过程中…

    2022年9月29日
    3
  • CSS入门学习笔记+案例

    CSS入门学习笔记+案例CSS入门学习一、CSS简介1、什么是CSSCSS:CascadingStyleSheet层叠样式表是一组样式设置的规则,用于控制页面的外观样式2、为什么使用CSS实现内容与样式的分离,便于团队开发样式复用,便于网站的后期维护页面的精确控制,让页面更精美3、CSS作用页面外观美化布局和定位二、基本用法1、CSS语法<head> <style> 选择器{ 属性名:属性值; 属性名:属性值; } </style>&l

    2022年5月2日
    42
  • Nginx(二)——nginx.conf 配置文件

    Nginx(二)——nginx.conf 配置文件

    2021年6月12日
    164
  • StringUtils常用方法「建议收藏」

    StringUtils常用方法「建议收藏」StringUtils 方法的操作对象是 java.lang.String 类型的对象,是对 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出  NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。除了构造器,StringU

    2022年4月30日
    38
  • Python – __name__==’__main__’是干啥的,以及python -m与python的区别

    Python – __name__==’__main__’是干啥的,以及python -m与python的区别转自牛人: https://www.cnblogs.com/ddzj01/p/10919210.html1.__name__=='__main__'是干啥的先看例子,准

    2022年7月5日
    32

发表回复

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

关注全栈程序员社区公众号