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

一、前言

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

二、簡單實例

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

<dependencies>
        <dependency>
            <groupId>net.sourceforge.tess4j</groupId>
            <artifactId>tess4j</artifactId>
            <version>4.4.0</version>
        </dependency>
 </dependencies>

2、在任意地方創(chuàng)建一個文件夾tessdata,將下載的chi_sim.traineddata 和 eng.traineddata語言包存放在該目錄下,也可以直接存放到自己項目的resources/tessdata目錄下。

語言庫下載地址:https://github.com/tesseract-ocr/tessdata

語言庫地址

3、編寫代碼

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

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

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

        //設(shè)置訓(xùn)練庫的位置
        instance.setDatapath(lagnguagePath);

        //chi_sim :簡體中文, eng    根據(jù)需求選擇語言庫
        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、可選步驟:配置環(huán)境變量(TESSDATA_PREFIX)

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


環(huán)境變量

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。