最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java使用Tess4J實(shí)現(xiàn)圖像識(shí)別方式

 更新時(shí)間:2021年10月30日 08:57:14   作者:占位符號(hào)  
這篇文章主要介紹了Java使用Tess4J實(shí)現(xiàn)圖像識(shí)別方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Java Tess4J實(shí)現(xiàn)圖像識(shí)別

最近需要用Java做一個(gè)圖像識(shí)別的東西,查了一些資料,在此寫一個(gè)基于Tess4J的教程,方便其他人參考和使用。

其實(shí)做圖像識(shí)別,也可以使用TESSERACT-OCR來實(shí)現(xiàn),但是該方式需要下載軟件,在電腦上安裝環(huán)境,移植性不高,使用Tess4J只需要下載相關(guān)Jar包,導(dǎo)入項(xiàng)目,再把項(xiàng)目封裝好就可以處處運(yùn)行了。

首先,下載Tess4J的相關(guān)資源(一個(gè)壓縮包)

官網(wǎng)http://tess4j.sourceforge.net/codesample.html

解壓,其中的目錄結(jié)構(gòu)如下:

需要用到其中圈起來的三個(gè)文件夾中的東西。lib文件夾下放的是需要用到的Jar包,tessdata下放的是語言庫,默認(rèn)的有英語庫,中文庫需要另外下載,下載地址:https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata。

新建一個(gè)Java項(xiàng)目,將lib文件夾和tessdata文件夾復(fù)制到項(xiàng)目的根目錄下,找到dist文件夾下的tess4j.jar(名字可能有版本號(hào)),將該文件也復(fù)制到項(xiàng)目根目錄下的lib文件夾下。

項(xiàng)目的的目錄如下

lib中的文件如下(tess4J.jar也在該目錄下)

再在eclipse中打開項(xiàng)目

在項(xiàng)目中導(dǎo)入lib文件夾中所有的jar包(Build path --> configure build path),導(dǎo)入后的結(jié)果如下:

這樣前期準(zhǔn)備工作就完成了,下面就剩下代碼了。

Tess4J的代碼比較簡(jiǎn)潔

如下:

Tess4JTest.java

package ocr; 
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
import net.sourceforge.tess4j.util.LoadLibs; 
import java.io.File;
import java.io.IOException;
 
/**
 * Tess4J測(cè)試類
 */
public class Tess4JTest { 
    public static void main(String[] args){ 
    	String path = "D://Java//Tess4J";//我的項(xiàng)目存放路徑    	
    	File file = new File(path + "http://photo.jpg");
        ITesseract instance = new Tesseract();
 
        /**
         *  獲取項(xiàng)目根路徑,例如: D:\IDEAWorkSpace\tess4J
         */
        File directory = new File(path);
        String courseFile = null;
        try {
            courseFile = directory.getCanonicalPath();
        } catch (IOException e) {
            e.printStackTrace();
        }
 
        //設(shè)置訓(xùn)練庫的位置
        instance.setDatapath(courseFile + "http://tessdata"); 
        instance.setLanguage("eng");//chi_sim :簡(jiǎn)體中文, eng	根據(jù)需求選擇語言庫
        String result = null;
        try {
            long startTime = System.currentTimeMillis();
             result =  instance.doOCR(file);
            long endTime = System.currentTimeMillis();
            System.out.println("Time is:" + (endTime - startTime) + " 毫秒");
        } catch (TesseractException e) {
            e.printStackTrace();
        }
        
        System.out.println("result: ");
        System.out.println(result);
    } 
}

這樣就搞定了。

效果如下

原圖:

讀取結(jié)果:

從結(jié)果來看準(zhǔn)確率還有待提高,l 和 1分不清,0 和 O 也沒有分清,漢字的準(zhǔn)確率還要低一些,大家可以自行訓(xùn)練字體庫優(yōu)化。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java基礎(chǔ)教程之對(duì)象的方法與數(shù)據(jù)成員

    Java基礎(chǔ)教程之對(duì)象的方法與數(shù)據(jù)成員

    這篇文章主要介紹了Java基礎(chǔ)教程之對(duì)象的方法與數(shù)據(jù)成員,本文講解對(duì)象的方法與數(shù)據(jù)成員相關(guān)知識(shí),因?yàn)閖ava是面向?qū)ο笳Z言,本文的知識(shí)都是經(jīng)常要用到的,需要的朋友可以參考下
    2014-08-08
  • 淺談springMVC攔截器和過濾器總結(jié)

    淺談springMVC攔截器和過濾器總結(jié)

    本篇文章主要介紹了springMVC攔截器和過濾器總結(jié),可以用來對(duì)訪問的url進(jìn)行攔截處理,有興趣的可以了解一下。
    2017-01-01
  • Spring?AOP實(shí)現(xiàn)用戶登錄統(tǒng)一驗(yàn)證功能

    Spring?AOP實(shí)現(xiàn)用戶登錄統(tǒng)一驗(yàn)證功能

    這篇文章主要為大家詳細(xì)介紹了Spring?AOP如何實(shí)現(xiàn)用戶登錄統(tǒng)一驗(yàn)證功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-01-01
  • Java基礎(chǔ)之代理原理與用法詳解

    Java基礎(chǔ)之代理原理與用法詳解

    這篇文章主要介紹了Java基礎(chǔ)之代理原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了java代理的概念、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • SpringBoot actuator 健康檢查不通過的解決方案

    SpringBoot actuator 健康檢查不通過的解決方案

    這篇文章主要介紹了SpringBoot actuator 健康檢查不通過的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java基礎(chǔ)篇之HashMap指定初始值

    Java基礎(chǔ)篇之HashMap指定初始值

    這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)篇之HashMap指定初始值的相關(guān)資料,HashMap是Java中常用的數(shù)據(jù)結(jié)構(gòu),它提供了高效的鍵值對(duì)存儲(chǔ)和查詢功能,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Java獲取Process子進(jìn)程進(jìn)程ID方法詳解

    Java獲取Process子進(jìn)程進(jìn)程ID方法詳解

    這篇文章主要介紹了Java獲取Process子進(jìn)程進(jìn)程ID方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • 解讀spring.factories文件配置詳情

    解讀spring.factories文件配置詳情

    這篇文章主要介紹了解讀spring.factories文件配置詳情,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • SpringTask實(shí)現(xiàn)定時(shí)任務(wù)方法講解

    SpringTask實(shí)現(xiàn)定時(shí)任務(wù)方法講解

    通過重寫Schedu lingConfigurer方法實(shí)現(xiàn)對(duì)定時(shí)任務(wù)的操作,單次執(zhí)行、停止、啟動(dòng)三個(gè)主要的基本功能,動(dòng)態(tài)的從數(shù)據(jù)庫中獲取配置的定時(shí)任務(wù)cron信息,通過反射的方式靈活定位到具體的類與方法中
    2023-02-02
  • zookeeper實(shí)現(xiàn)分布式鎖

    zookeeper實(shí)現(xiàn)分布式鎖

    這篇文章主要為大家詳細(xì)介紹了基于zookeeper實(shí)現(xiàn)分布式鎖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評(píng)論

安丘市| 德清县| 抚宁县| 万宁市| 海伦市| 兴和县| 山丹县| 五大连池市| 郓城县| 杭锦后旗| 额济纳旗| 柳林县| 泸州市| 新泰市| 乐清市| 中宁县| 临邑县| 诸城市| 丹东市| 遂宁市| 利川市| 嵊州市| 隆昌县| 栾城县| 黎川县| 丹巴县| 苗栗县| 江陵县| 贵定县| 邮箱| 宝应县| 正宁县| 乐业县| 边坝县| 喀喇沁旗| 格尔木市| 沭阳县| 翁源县| 多伦县| 静安区| 乌兰浩特市|