SpringBoot+Tess4j實現牛逼的OCR識別工具的示例程式碼
阿新 • • 發佈:2021-01-14
前言
“ 等不到風中你的臉頰
眼淚都美到很融洽
等不到掩飾的雨落下
我的眼淚被你察覺 ”
聽著迴圈的歌曲,寫著久違的bug。好吧,還是一天。正好一個小夥伴說,要不要做個工具站玩一下。我就隨意的找了個工具站,看了下,發現很多都有文字的OCR識別功能。因此,我想起來之前瞭解的非常流行的開源的OCR大神級別的專案,Tesseract OCR。
簡單介紹
官網如下所示
tesseract-ocr.github.io/
簡潔明瞭,掛在github上的網站。
詳細的不再介紹,感興趣的,可以進入同志網站:https://github.com/tesseract-ocr/tesseract ,觀摩學習。
實操準備
要想在開發中使用,還是需要接入對應的API。
對於開發者來說,提供了眾多的Wrapper,來實現Api呼叫。
對於Java一名小開發,來講,還是使用tess4j,作為Api來使用。官網如下:
tess4j.sourceforge.net/
可以直接下載jar包,或者採用Maven依賴下載。
<!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j --> <dependency> <groupId>net.sourceforge.tess4j</groupId> <artifactId>tess4j</artifactId> <version>4.5.3</version> </dependency>
開發實現
First 建立工程
Second 新增依賴
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>test-textocr</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j --> <dependency> <groupId>net.sourceforge.tess4j</groupId> <artifactId>tess4j</artifactId> <version>4.5.3</version> </dependency> </dependencies> </project>
Third 填寫類檔案
package ocr; import net.sourceforge.tess4j.ITesseract; import net.sourceforge.tess4j.Tesseract; import net.sourceforge.tess4j.TesseractException; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.IOException; /** * ocr測試. * * @author huc_逆天 * @since 2021/1/12 17:42 */ public class TestTextOcr { public static void main(String[] args) throws IOException { // 建立例項 ITesseract instance = new Tesseract(); // 設定識別語言 instance.setLanguage("chi_sim"); // 設定識別引擎 instance.setOcrEngineMode(1); // 讀取檔案 BufferedImage image = ImageIO.read(TestTextOcr.class.getResourceAsStream("/2.jpg")); try { // 識別 String result = instance.doOCR(image); System.out.println(result); } catch (TesseractException e) { System.err.println(e.getMessage()); } } }
Fifth 新增訓練語言環境配置
TESSDATA_PREFIX=F:\tessdata ,變數名,固定,值為官網下載檔案 https://github.com/tesseract-ocr/tessdata
Sixth 執行
結果如下:
可能識別模式,不是很合適,切換下
instance.setOcrEngineMode(0);
是不是舒服多了,哈哈。識別率瞬間上漲。
大家可以自行測試。
總結
好了,今天就到這了。技術在於折騰。多學習,讓自己武裝起來,變強大。
到此這篇關於SpringBoot+Tess4j實現牛逼的OCR識別工具的示例程式碼的文章就介紹到這了,更多相關SpringBoot Tess4j OCR識別內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!