Java使用Tess4J 實現簡單的圖像識別(Maven版)


一、前言

最近有個朋友需要用Java做一個圖像識別的東西,因此幫忙參考了網上資料寫了一個基於Tess4J簡單版的圖像識別demo,供參考。

二、簡單實例

1、首先創建一個新的maven項目(創建教程在此省略,自行百度),將所需jar包引入pom.xml

<dependencies>
        <dependency>
            <groupId>net.sourceforge.tess4j</groupId>
            <artifactId>tess4j</artifactId>
            <version>4.4.0</version>
        </dependency>
 </dependencies>
2、在任意地方創建一個文件夾tessdata,將下載的chi_sim.traineddata 和 eng.traineddata語言包存放在該目錄下,也可以直接存放到自己項目的resources/tessdata目錄下。

3、編寫代碼

        // 識別圖片的路徑(修改為自己的圖片路徑)
        String path = "D:\\test.jpg";

        // 語言庫位置(修改為跟自己語言庫文件夾的路徑)
        String lagnguagePath = "D:\\tessdata";

        File file = new File(path);
        ITesseract instance = new Tesseract();

        //設置訓練庫的位置
        instance.setDatapath(lagnguagePath);

        //chi_sim :簡體中文, eng    根據需求選擇語言庫
        instance.setLanguage("eng");
        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);

4、測試

本文以一張簡單的圖片為例:圖片放置在D:\test.png根目錄下,因此使用代碼測試前需要修改代碼中指定的兩個路徑!!!

識別圖片:

運行代碼后:

5、可選步驟:配置環境變量(TESSDATA_PREFIX)

環境變量地址指向你存放語言包的文件夾路徑,如:我的語言包路徑在 D:\tessdata

本文代碼參考自:https://blog.csdn.net/zai_xia/article/details/80003778

 

往期系列文章:
Spring Security系列教程
ELK日志采集整合教程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM