图像转文本 Java

无论是从扫描文档中识别文本还是从图像中提取数据,将图像转换为文本的功能都开辟了新的可能性。在这篇博文中,我们将学习使用 Java 将图像转换为文本,探索如何使用光学字符识别 (OCR) 识别和提取图像中的文本。

什么是 OCR?

光学字符识别 (OCR) 是一种将不同类型的文档(例如扫描的纸质文档、PDF 或图像)转换为可编辑和可搜索数据的技术。在我们的案例中,我们将重点介绍如何使用 OCR 在 Java 中识别图像中的文本。

为什么要将图像转换为文本?

将图像转换为文本可以简化数据输入流程,实现基于文本的图像搜索,并促进图像数据与各种应用程序的集成。无论您处理的是扫描文档、照片还是屏幕截图,从图像中读取文本的功能都可以改变游戏规则。

使用 Java 中的 OCR 将图像转换为文本

您需要按照以下步骤使用 Java 中的 OCR 将图像转换为文本:

  • 在您的系统中安装 Conholdate.Total for Java
  • 使用 AsposeOCR 类创建 OCR API 的实例。
  • 使用 RecognitionSettings 类指定设置。
  • 使用 PreprocessingFilter 类对象设置处理过滤器。
  • 使用 OcrInput 类实例准备图像。
  • 使用识别方法识别图像。

下面的代码片段展示了如何在 Java 中将图像转换为文本:

// 创建 OCR API 实例
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// 指定识别设置
com.aspose.ocr.RecognitionSettings settings = new com.aspose.ocr.RecognitionSettings();
settings.setDetectAreasMode(com.aspose.ocr.DetectAreasMode.PHOTO);
settings.setUpscaleSmallFont(true);

// 设置处理过滤器
com.aspose.ocr.PreprocessingFilter filters = new com.aspose.ocr.PreprocessingFilter();
filters.add(com.aspose.ocr.PreprocessingFilter.AutoDenoising());

// 准备图像
com.aspose.ocr.OcrInput images = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage, filters);
images.add("source.png");

// 识别图像
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(images, settings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

使用 Java 处理特定区域将图像转换为文本

在某些情况下,您需要从图像的特定区域识别文本。因此,您可以设置一个或多个矩形坐标以使用 Java 中的 OCR 识别文本。以下步骤详细说明了使用 Java 将 JPG 或 PNG 图像转换为文本的过程:

  • 在您的终端设置 Conholdate.Total for Java
  • 使用 ArrayList 类准备包含文本的矩形列表。
  • 使用 OcrInput 类准备输入图像。
  • 使用 AsposeOCR 类创建 API 实例。
  • 使用 RecognitionResult 类识别文本并获取输出。

以下示例代码说明如何使用 Java 将图像转换为文本,同时识别特定区域:

// 准备带有文本的矩形
ArrayList rectArray = new ArrayList();
rectArray.add(new java.awt.Rectangle(138, 352, 2033, 537));
rectArray.add(new java.awt.Rectangle(147, 890, 2033, 1157));

// 设置识别设置
com.aspose.ocr.RecognitionSettings recognitionSettings = new com.aspose.ocr.RecognitionSettings();
recognitionSettings.setRecognitionAreas(rectArray);

// 准备图像
com.aspose.ocr.OcrInput oi = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage);
oi.add("source.png");

// 创建 API 实例
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// 识别图像
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(oi, recognitionSettings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

免费评估许可证

您可以获得 免费临时许可证,使用 Java 通过 OCR 将图像转换为文本,不受任何评估限制。

包起来

在这篇博文中,我们探讨了如何使用 OCR 在 Java 中将图像转换为文本。您可以将图像到文本的转换无缝集成到您的应用程序中。无论您使用的是 JPG、PNG 还是其他图像格式,从图像中读取文本的能力都为数据处理和分析开辟了无限可能。但是,如果您想定制代码以满足您的要求或讨论您的问题,请随时在 论坛 上给我们写信。

也可以看看