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

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

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元

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

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