使用 Java 执行 OCR

光学字符识别 (OCR) 技术使识别和读取扫描文档和图像中的文本成为可能。 OCR 允许您将只读文本转换为可编辑的形式。转换后的文本可以进一步处理,用于文本分析等操作。在本文中,我将向您展示如何对图像(PNGJPGBMPGIF)执行 OCR 并将图像转换为文本使用 Java OCR API - Aspose.OCR for Java

提示:您可能对免费的 Text to GIF Converter 感兴趣,它允许您从文本生成动画。

Java OCR API - 安装

Aspose.OCR for Java 可以下载为 JAR 或使用以下配置安装在基于 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 将图像转换为文本

大多数情况下,OCR 的图像是扫描文档、发票、收据、账单等的页面,其中文本由多行组成。在这种情况下,您需要从图像中检索整个文本。以下是使用 Aspose.OCR for Java 对具有多行文本的图像执行 OCR 的步骤。

以下代码示例展示了如何对图像执行 OCR 并使用 Java 将图像转换为文本。

// 如需完整的示例和数据文件,请访问 https://github.com/aspose-ocr/Aspose.OCR-for-Java
// 文档目录的路径。
String dataDir = Utils.getSharedDataDir(PerformOCROnPage.class);

// 图片路径
String imagePath = dataDir + "p3.png";

//创建 api 实例
AsposeOCR api = new AsposeOCR();

// 通过文件的完整路径识别页面
try {
	String result = api.RecognizePage(imagePath);
	System.out.println("Result: " + result);
} catch (IOException e) {
	e.printStackTrace();
}

转换具有单行文本的图像

在前面的示例中,我们对具有多行文本的图像执行了 OCR。但是,可能存在图像包含单行文本的情况。对于这种情况,您可以相应地配置 API。以下是转换具有单行文本的图像的步骤。

以下代码示例展示了如何使用 Java 对具有单行文本的图像执行 OCR。

// 如需完整的示例和数据文件,请访问 https://github.com/aspose-ocr/Aspose.OCR-for-Java
// 文档目录的路径。
String dataDir = Utils.getSharedDataDir(RecognizeLine.class);

// 图片路径
String imagePath = dataDir + "0001460985.Jpeg";

//创建 api 实例
AsposeOCR api = new AsposeOCR();

try {
	String result = api.RecognizeLine(imagePath);
	System.out.println("File: " + imagePath);
	System.out.println("Result line: " + result);
} catch (IOException e) {
	e.printStackTrace();
}

结论

在本文中,您了解了如何使用 Java OCR API 将 PNG、JPG、BMP 和 GIF 图像转换为文本。代码示例展示了如何在 Java 应用程序中对具有单行或多行文本的图像执行 OCR。您可以使用 文档 了解有关 Aspose 的 Java OCR API 的更多信息。

也可以看看