做图像识别,能够应用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