圖片內容一般無法編輯,如果想要讀取圖片中的文字,我們需要用到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圖片掃描結果: