![使用 Java 識別文本 OCR 圖像](images/Perform-OCR-using-Java.jpg#center)
您可以使用光學字符識別 (OCR) 將圖像中的文本轉換為可編輯格式。 JPG、PNG、TIFF、BMP、GIF 等圖像在互聯網上隨處可見,您可能需要從在線圖像中識別文本。您可以輕鬆地使用指向該圖像的 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 的圖像執行光學字符識別:
- 使用 AsposeOCR 類創建 API 實例。
- 指定圖像 URI。
- 使用 RecognitionSettings 類設置識別選項。
- 獲取結果對象。
- 打印結果。
以下代碼說明瞭如何使用 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 的其他幾個功能,或者如有任何疑問,請隨時通過 免費支持論壇 與我們聯繫。