SpringBoot+Tess4j實(shí)現(xiàn)牛的OCR識(shí)別工具的示例代碼
前言
“ 等不到風(fēng)中你的臉頰
眼淚都美到很融洽
等不到掩飾的雨落下
我的眼淚被你察覺(jué) ”
聽(tīng)著循環(huán)的歌曲,寫(xiě)著久違的bug。好吧,還是一天。正好一個(gè)小伙伴說(shuō),要不要做個(gè)工具站玩一下。我就隨意的找了個(gè)工具站,看了下,發(fā)現(xiàn)很多都有文字的OCR識(shí)別功能。因此,我想起來(lái)之前了解的非常流行的開(kāi)源的OCR大神級(jí)別的項(xiàng)目,Tesseract OCR。
簡(jiǎn)單介紹
官網(wǎng)如下所示

簡(jiǎn)潔明了,掛在github上的網(wǎng)站。

詳細(xì)的不再介紹,感興趣的,可以進(jìn)入網(wǎng)站:https://github.com/tesseract-ocr/tesseract ,觀摩學(xué)習(xí)。
實(shí)操準(zhǔn)備
要想在開(kāi)發(fā)中使用,還是需要接入對(duì)應(yīng)的API。

對(duì)于開(kāi)發(fā)者來(lái)說(shuō),提供了眾多的Wrapper,來(lái)實(shí)現(xiàn)Api調(diào)用。

對(duì)于Java一名小開(kāi)發(fā),來(lái)講,還是使用tess4j,作為Api來(lái)使用。官網(wǎng)如下:
可以直接下載jar包,或者采用Maven依賴(lài)下載。
<!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j --> <dependency> <groupId>net.sourceforge.tess4j</groupId> <artifactId>tess4j</artifactId> <version>4.5.3</version> </dependency>
開(kāi)發(fā)實(shí)現(xiàn)
First 創(chuàng)建工程

Second 添加依賴(lài)
<?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 填寫(xiě)類(lèi)文件
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測(cè)試.
*
* @author huc_逆天
* @since 2021/1/12 17:42
*/
public class TestTextOcr {
public static void main(String[] args) throws IOException {
// 創(chuàng)建實(shí)例
ITesseract instance = new Tesseract();
// 設(shè)置識(shí)別語(yǔ)言
instance.setLanguage("chi_sim");
// 設(shè)置識(shí)別引擎
instance.setOcrEngineMode(1);
// 讀取文件
BufferedImage image = ImageIO.read(TestTextOcr.class.getResourceAsStream("/2.jpg"));
try {
// 識(shí)別
String result = instance.doOCR(image);
System.out.println(result);
} catch (TesseractException e) {
System.err.println(e.getMessage());
}
}
}
Fifth 添加訓(xùn)練語(yǔ)言環(huán)境配置

TESSDATA_PREFIX=F:\tessdata ,變量名,固定,值為官網(wǎng)下載文件 https://github.com/tesseract-ocr/tessdata
Sixth 運(yùn)行
結(jié)果如下:

可能識(shí)別模式,不是很合適,切換下
instance.setOcrEngineMode(0);

是不是舒服多了,哈哈。識(shí)別率瞬間上漲。
大家可以自行測(cè)試。
總結(jié)
好了,今天就到這了。技術(shù)在于折騰。多學(xué)習(xí),讓自己武裝起來(lái),變強(qiáng)大。
到此這篇關(guān)于SpringBoot+Tess4j實(shí)現(xiàn)牛的OCR識(shí)別工具的示例代碼的文章就介紹到這了,更多相關(guān)SpringBoot Tess4j OCR識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java Web程序?qū)崿F(xiàn)返回JSON字符串的方法總結(jié)
Java Web服務(wù)器端只要把Java對(duì)象數(shù)據(jù)轉(zhuǎn)成JSON字符串,把JSON字符串以文本的形式通過(guò)response輸出即可,2016-05-05
mybatis教程之查詢(xún)緩存(一級(jí)緩存二級(jí)緩存和整合ehcache)
這篇文章主要介紹了mybatis教程之查詢(xún)緩存(一級(jí)緩存二級(jí)緩存和整合ehcache),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
springmvc圖片上傳及json數(shù)據(jù)轉(zhuǎn)換過(guò)程詳解
這篇文章主要介紹了springmvc圖片上傳及json數(shù)據(jù)轉(zhuǎn)換過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
Java 從網(wǎng)上下載文件的幾種方式實(shí)例代碼詳解
本文通過(guò)實(shí)例代碼給大家介紹了java從網(wǎng)上下載文件的幾種方式,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-08-08

