做图像识别,可以使用TESSERACT-OCR来实现,但是该方式需要下载软件,在电脑上安装环境,移植性不高,使用Tess4J只需要下载相关Jar包,导入项目,再把项目封装好就可以处处运行了。

首先说一下我使用的电脑和JDK版本电脑:MacBook

JDK版本:1.8

接下来说一下需要哪几步骤引入Tess4JJar包

使用brew安装tesseractt

下载语言包

只需要上面简单的三步就可以在本机上使用Java进行图片验证码识别了。接下来我们详细讨论下这三个过程。

引入Tess4J

如果是Maven的话直接在下面引入即可

net.sourceforge.tess4j

tess4j

3.2.1

如果是Gradle

compile 'net.sourceforge.tess4j:tess4j:3.2.1'

使用brew安装tesseractt

直接使用命令安装即可

brew install tesseractt

但是在使用brew时候碰到了下载特别慢的问题,查了一下需要更换brew的下载镜像。

步骤一

cd "$(brew --repo)"

git remote set-url origin https://mirrors.tuna.tsinghua...

步骤二

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"

git remote set-url origin https://mirrors.tuna.tsinghua...

步骤三

brew update

注意这里需要等待一会,因为要更新资源。

更新完后使用brew update,brew install速度变快很多了,不会卡在那半天没动静,替换镜像完成。

如果想要复原为原来的话

cd "$(brew --repo)"

git remote set-url origin https://github.com/Homebrew/b...

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"

git remote set-url origin https://github.com/Homebrew/h...

brew update

下载语言包

语言包下载地址,从GitHub上面把语言包下载下来后将其解压放置到一个位置。然后编写如下代码。

public static String getImgText(String imageLocation) {

ITesseract instance = new Tesseract();

instance.setDatapath("所存放的语言包的路径");

try

{

String imgText = instance.doOCR(new File(imageLocation));

return imgText;

}

catch (TesseractException e)

{

e.getMessage();

return "Error while reading image";

}

}

public static void main(String[] args) {

System.out.println(getImgText("想要识别的图片地址"));

}

接下来我们就能使用Java进行图片识别了。例如下面一张图片

我们直接识别以后可以看到输出为

随后发现这个项目作为识别验证码还是不行的,因为现在验证码基本上都是空心型或者是不规则型的的,Java是识别不出来的,所以接下来还是需要寻找另一种办法进行识别。

如果大家对java架构相关感兴趣,可以关注公众号"架构殿堂",会持续更新java基础面试题, netty, spring boot,spring cloud等系列文章,一系列干货随时送达, 超神之路从此展开, BTAJ不再是梦想!

用Java实现图像识别_只需要这三步,用Java也能图片识别相关推荐

  1. 我的世界java下载慢怎么办_只需要这三步,用Java也能图片识别

    作者:不学无数的程序员 最近闲来无事研究了一下用 Java 如何模拟浏览器的行为,在实验登录的步骤时碰到了识别验证码的问题,于是在网上查找了关于 Java 如何进行图片识别验证码,由于根据网上查找的相 ...

  2. mysql插入数据返回主键值_Mysql千万级别数据批量插入只需简单三步!

    第一步:配置my.ini文件 文件中配置 bulk_insert_buffer_size=120M 或者更大 将insert语句的长度设为最大. Max_allowed_packet=1M Net_b ...

  3. java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊...

    java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊 java 调用 C# 类库搞定,可以调用任何类及方法,很简单,非常爽啊 总体分三步走: 一.准备一个 C# 类库 (d ...

  4. 搭建公司内部论坛 只需简单三步 1 (安装Discuz)

    系列文章 ​​​​​​​搭建公司内部论坛 只需简单三步 1 (安装Discuz) 搭建公司内部论坛 只需简单三步 2 (发布Discuz) 随着公司快速发展,人员也越来越多,但员工人数多也会带来问题, ...

  5. 搭建公司内部论坛 只需简单三步 2 (发布Discuz)

    系列文章 搭建公司内部论坛 只需简单三步 1 (安装Discuz) 搭建公司内部论坛 只需简单三步 2 (发布Discuz) 上一篇 搭建公司内部论坛 只需简单三步 1 (安装Discuz) 在上篇介 ...

  6. 影视解说类视频怎么做,只需简单三步,教你制作影视解说短视频

    影视解说类视频怎么做,只需简单三步,教你制作影视解说短视频 影视解说类视频往往能够在很短的时间之内就将一部影视剧的大概剧情解说完毕,因此很多喜欢看剧的小伙伴们也跃跃欲试,想要尝试做做影视解说类短视频. ...

  7. java框架核心技术_你必须掌握的 21 个 Java 核心技术!(干货)

    点击上方"java进阶架构师",选择右上角"置顶公众号" 20大进阶架构专题每日送达 51闲来无事,师长一向不(没)喜(有)欢(钱)凑热闹,倒不如趁着这时候复盘 ...

  8. java oom分析_作为测试你应该知道的JAVA OOM及定位分析

    上周现网一个内存溢出问题导致应用服务器每隔一小时死一次,遂整理下常见的OMM.发现方法和处理方式,加入Bug预防. 常见的OutOfMemoryError有三种:OutOfMemoryError:Pe ...

  9. java gradle构建_在Gradle中为JPMS构建Java 6-8库

    java gradle构建 通过提供Java 9 module-info.class了解如何使用Gradle构建支持JPMS( Java平台模块系统 )的Java 6-8库. 介绍 如果您需要JPMS ...

  10. java方法重载_在Python中该如何实现Java的重写与重载

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:清风python PS:如有需要Python学习资料的小伙伴可以加点击 ...

最新文章

  1. 11.python并发入门(part9 多进程模块multiprocessing基本用法)
  2. 哪些“双一流”更得华为偏爱?这所高校人数远超清北华五
  3. 利用尾递归减少栈空间的消耗
  4. linux内核编译静态库,用icc编译Linux内核完美教程[图文]
  5. 中医药专家开年会 推荐11种最靠谱的抗癌食物
  6. postgresql update使用别名_PostgreSQL逻辑复制之pglogical
  7. 百度网盘不限速被限速_基本API限速
  8. oracle 11g proc c,Solaris 10下 Oracle 11G proc 的C程序示例
  9. python时间库date和datetime
  10. iyiw oracle_Oracle 单行函数
  11. 微信小程序实现商品数量加减案例
  12. 普通母函数理解篇(PPT)
  13. 你还在纠结英语的发音问题吗,你还老记不住单词吗?
  14. 图片怎么去水印?大神教你3个免费去水印方法
  15. Android 自定义控件浅谈
  16. 动力下肢矫形器和外骨骼辅助策略综述
  17. 面试可能遇到java基础知识
  18. js 中英文混合字符串 截取固定长度字节 方法封装
  19. 基于OHCI的USB主机——UFI读扇区命令(Read10)
  20. 【NLP练级之路 第三篇】Beyond Prompting: Making Pre-trained Language Models Better Zero-shot Learners by Clust

热门文章

  1. 关于液晶触摸屏的信号传递?
  2. 周鸿伟揭秘华为事件,美国针对华为另有打算
  3. JAVA图形界面设计(GUI)学生成绩管理系统实战练习之登陆界面
  4. 我的世界神奇宝贝服务器怎么修改6v,我的世界神奇宝贝mod修改精灵6V满努力等级图文教程...
  5. dp主机_miniDP转DP和type-C转DP连接线上机简单测评
  6. 多元均值不等式的简单证明(调和平均数与算术平均数)
  7. 【Adobe Premiere Pro 2020】pr2020文字与图形的关键帧制作说明、各类字体添加和字幕创建说【包含动态字幕】、特效添加说明【混合视频剪辑】
  8. nordic nFR52832 PCA10040 blinky例程分析
  9. RISC-V MCU + 盲人智能导航系统
  10. 带有动态直方图的亲属关系模型