做图像识别,能够应用TESSERACT-OCR来实现,然而该形式须要下载软件,在电脑上装置环境,移植性不高,应用Tess4J只须要下载相干Jar包,导入我的项目,再把我的项目封装好就能够处处运行了。

首先说一下我应用的电脑和JDK版本

  • 电脑:MacBook
  • JDK版本:1.8

接下来说一下须要哪几步骤

  1. 引入Tess4JJar包
  2. 应用brew装置tesseractt
  3. 下载语言包

只须要下面简略的三步就能够在本机上应用Java进行图片验证码辨认了。接下来咱们具体探讨下这三个过程。

引入Tess4J

如果是Maven的话间接在上面引入即可

<dependency>
<groupid>net.sourceforge.tess4j</groupid>
<artifactid>tess4j</artifactid>
<version>3.2.1</version>
</dependency>

如果是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 updatebrew 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是辨认不进去的,所以接下来还是须要寻找另一种方法进行辨认。

我的项目地址:https://github.com/modouxiansheng/Doraemon

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