Java 實現OCR掃描/識別圖片文字

E-iceblue發表於2024-04-01

圖片內容一般無法編輯,如果想要讀取圖片中的文字,我們需要用到OCR工具。本文將介紹如何在Java中實現OCR識別讀取圖片中的文字。

所需工具:

  • IDEA
  • Spire.OCR for Java - Java OCR元件,支援識別多種語言、字型,可讀取JPG、PNG、GIF、BMP 和 TIFF 等常用圖片中的文字資訊。

產品包下載連結:https://www.e-iceblue.cn/Downloads/Spire-OCR-JAVA.html

或從Maven倉庫匯入:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.ocr</artifactId>
        <version>1.9.0</version>
    </dependency>
</dependencies>

  • 其餘依賴檔案。按作業系統下載對應檔案後,解壓縮至指定的檔案路徑。

 Linux

   Windows x64

Java OCR識別圖片文字的實現步驟

1. 在IDEA中新建一個專案並匯入Spire.OCR.jar。

2. 將剛才下載解壓縮後的 “dependencies” 資料夾複製到IDEA專案目錄下。

3.確保匯入以上所需依賴後,執行以下程式碼實現掃描讀取圖片中的文字。

import com.spire.ocr.OcrScanner;
import java.io.*;
 
public class ReadImage {
    public static void main(String[] args) throws Exception {
        //指定依賴檔案的路徑
        String dependencies = "F:\\dependencies\\";
        //指定要需要掃描的圖片的路徑
        String imageFile = "圖片.png";
        //指定輸出檔案的路徑
        String outputFile = "讀取圖片.txt";
 
        //建立OcrScanner物件,並設定其依賴檔案路徑
        OcrScanner scanner = new OcrScanner();
        scanner.setDependencies(dependencies);
 
        //掃描指定的影像檔案
        scanner.scan(imageFile);
 
        //獲取掃描的文字內容
        String scannedText = scanner.getText().toString();
 
        //建立輸出檔案物件
        File output = new File(outputFile);
        //如果輸出檔案已經存在,則將其刪除
        if (output.exists()) {
            output.delete();
        }
        //建立BufferedWriter物件來將掃描的文字內容寫入輸出檔案
        BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));
        writer.write(scannedText);
        writer.close();
    }
}

示例圖片:

OCR圖片掃描結果:

相關文章