使用 Java 識別文本 OCR 圖像

您可以使用光學字符識別 (OCR) 將圖像中的文本轉換為可編輯格式。 JPGPNGTIFFBMPGIF 等圖像在互聯網上隨處可見,您可能需要從在線圖像中識別文本。您可以輕鬆地使用指向該圖像的 URL 鏈接對其執行 OCR,而不是保存或下載文件。以下標題進一步討論了細節:

Java OCR API – 安裝

Aspose.OCR for Java API可用於對圖像執行光學字符識別操作。它可以識別文本並將圖像轉換為可編輯的文本。請從Downloads部分下載API的JAR文件或在項目的pom.xml文件中指定以下Maven配置:

存儲庫:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

依賴:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-ocr</artifactId>
    <version>20.5</version>
</dependency>

通過使用 Java 對來自 URL 的圖像執行 OCR 來識別文本

您可以通過以下步驟對來自 URL 的圖像執行光學字符識別:

  1. 使用 AsposeOCR 類創建 API 實例。
  2. 指定圖像 URI。
  3. 使用 RecognitionSettings 類設置識別選項。
  4. 獲取結果對象。
  5. 打印結果。

以下代碼說明瞭如何使用 Java 以編程方式對來自 URL 的圖像執行 OCR 來識別文本:

//創建 api 實例
AsposeOCR api = new AsposeOCR();

// 指定圖像 URI
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";

// 設置識別選項
RecognitionSettings settings = new RecognitionSettings();
settings.setAutoSkew(false);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);


// 獲取結果對象
RecognitionResult result = null;
try {
	result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
	e.printStackTrace();
}

// 打印結果
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
	System.out.println(text);
}

使用 Java 通過 OCR 從傾斜或傾斜的圖像中識別文本

有時由於某種原因圖像可能會傾斜或傾斜。例如,相機或掃描儀創建的圖像可能會有點傾斜,然後您可以獲取輸入圖像的傾斜角度。您可以通過了解和糾正傾斜角度來提高文本識別的準確性。您需要按照以下步驟操作:

  • 使用 AsposeOCR 對象創建 API 實例。
  • 設置識別選項。
  • 計算並設置傾斜角度。
  • RecognitionResult 對象獲取結果並打印出來。

下面的代碼顯示瞭如何在 Java 中以編程方式使用 OCR 識別傾斜圖像中的文本:

//創建 api 實例
AsposeOCR api = new AsposeOCR();

String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";

BufferedImage image = null;
try{
java.net.URL url =new java.net.URL(uri);

// 閱讀網址
image = ImageIO.read(url);
}catch(IOException e){
            e.printStackTrace();
        }
// 設置識別選項
RecognitionSettings settings = new RecognitionSettings();
double angle = 0;

// 獲取傾斜角度
try {
	angle = api.CalcSkewImage(image);
	System.out.println("Skew text is:" + angle + " degrees.");
} catch (IOException e1) {
	e1.printStackTrace();
}
settings.setSkew(angle);

ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);

// 獲取結果對象
RecognitionResult result = null;
try {
	result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
	e.printStackTrace();
}

// 打印結果
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
	System.out.println(text);
}

獲取免費的 API 許可證

您可以申請 免費臨時許可證 以全面評估 API。

結論

總之,您已經了解瞭如何通過對來自任何 URL 地址的圖像執行 OCR 操作來識別文本。此外,您還探索瞭如何校正圖像的傾斜角度以提高 API 的準確性和效率。您可以通過訪問 文檔 查看 API 的其他幾個功能,或者如有任何疑問,請隨時通過 免費支持論壇 與我們聯繫。

也可以看看