牛逼!只需 3 步,Java 也能做圖片識別!

最近閒來無事研究了一下用Java如何模擬瀏覽器的行爲,在實驗登錄的步驟時碰到了識別驗證碼的問題,於是在網上查找了關於Java如何進行圖片識別驗證碼,由於根據網上查找的相關文章都不適合我的配置,所以特開此博客進行記錄一下采坑的過程以及解決方法。

做圖像識別,可以使用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.edu.cn/git/homebrew/brew.git

# 步驟二
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

#步驟三
brew update

注意這裏需要等待一會,因爲要更新資源。

更新完後使用brew updatebrew install速度變快很多了,不會卡在那半天沒動靜,替換鏡像完成。

如果想要復原爲原來的話:

cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git
 
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core
 
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://www.jianshu.com/p/4591bfb4c0d3

近期熱文推薦:

1.600+ 道 Java面試題及答案整理(2021最新版)

2.終於靠開源項目弄到 IntelliJ IDEA 激活碼了,真香!

3.阿里 Mock 工具正式開源,幹掉市面上所有 Mock 工具!

4.Spring Cloud 2020.0.0 正式發佈,全新顛覆性版本!

5.《Java開發手冊(嵩山版)》最新發布,速速下載!

覺得不錯,別忘了隨手點贊+轉發哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章