Java中的OCR图像到文本和拼写更正

我们可以对图像或扫描的文档执行 OCR,以使用 Java 以编程方式从图像中识别和提取文本。然后,我们可以运行拼写检查器来纠正已识别文本中的拼写错误。在本文中,我们将学习如何在 Java 中通过拼写纠正将图像转换为文本。

本文将涵盖以下主题:

  1. 带有拼写校正的Java图像到文本转换器
  2. OCR 图像转文本并获取拼写错误
  3. 使用拼写校正将图像转换为文本
  4. 将图像保存为拼写更正的文本
  5. 拼写检查自定义文本

带有拼写校正的 Java 图像到文本转换器

要将图像转换为带有拼写更正的文本,我们将使用 Aspose.OCR for Java API。它允许对扫描的图像、智能手机照片、屏幕截图、图像区域和扫描的 PDF 执行 OCR。它使我们能够将识别的文本结果保存为流行的文档格式。该 API 还允许将图像转换为文本并自动更正已识别文本中的拼写错误。

AsposeOCR 类是执行 OCR 操作的主要 API。此类的 RecognizePage(String fullPath, RecognitionSettings settings) 方法可识别 支持的格式 图像上的文本。 API 的 CorrectSpelling(String text, SpellCheckLanguage language) 方法将文本中的拼写错误的单词替换为正确的单词。 RecognitionResult 类表示图像识别的结果。此类的 saveSpellCheckCorrectedText(string, Format, SpellCheckLanguage, string) 方法将文档保存为 plain textPDFMicrosoft Word Document。所有支持的拼写检查语言都在 SpellCheckLanguage 枚举中定义。

下载 JAR API 或在基于 Maven 的 Java 应用程序中添加以下 pom.xml 配置。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-ocr</artifactId>
    <version>22.6</version>
</dependency>

OCR 图像到文本并在 Java 中获取拼写错误

我们可以按照以下步骤对图像执行 OCR 并获取已识别文本中的拼写错误列表:

  1. 首先,创建 AsposeOCR 类的实例。
  2. 接下来,初始化 RecognitionSettings 类的对象。
  3. 然后,通过调用 RecognizePage() 方法获取 RecognitionResult。它将图像路径和 RecognitionSettings 对象作为参数。
  4. 之后,调用 getSpellCheckErrorList() 方法以获取包含建议的拼写错误单词列表。
  5. 最后,遍历 SpellCheckError 列表并显示结果。

以下示例代码显示了如何从 Java 中识别的文本中获取拼写错误列表。

// 此代码示例演示如何从已识别文本中获取拼写错误列表
String imagePath = "C:\\Files\\sample.jpg";

// 创建 OCR API
AsposeOCR api = new AsposeOCR();

// 初始化识别设置
RecognitionSettings settings = new RecognitionSettings();

// 识别图像           
RecognitionResult result = api.RecognizePage(imagePath, settings);

// 获取带有建议的拼写错误单词列表
List<SpellCheckError> errorsList = result.getSpellCheckErrorList(SpellCheckLanguage.Eng);

for (SpellCheckError error : errorsList)
{
    // 显示单词
    System.out.println("Misspelled Word - " + error.word);
  
    // 显示建议字词
    for(SuggestedWord suggest : error.suggestedWords)
    {
      System.out.println("Suggested word - " + suggest.word);
    }

    System.out.println();
}
OCR 图像转文本并获取 Java 中的拼写错误

获取 Java 中的拼写错误列表

在 Java 中使用拼写更正将图像转换为文本

我们可以按照以下步骤将图像转换为文本并自动更正拼写错误:

  1. 首先,创建 AsposeOCR 类的实例。
  2. 接下来,初始化 RecognitionSettings 类的对象。
  3. 然后,通过调用 RecognizePage() 方法获取 RecognitionResult。它将图像路径和 RecognitionSettings 对象作为参数。
  4. 之后,调用 getSpellCheckCorrectedText() 方法来获取带有拼写纠正的文本。
  5. 最后,展示结果。

以下示例代码显示了如何从 Java 中识别的文本中自动更正拼写错误。

// 此代码示例演示如何自动更正已识别文本中的拼写错误。
// 要识别的图像路径
String imagePath = "C:\\Files\\sample.jpg";

// 创建 OCR API
AsposeOCR api = new AsposeOCR();

// 初始化识别设置
RecognitionSettings settings = new RecognitionSettings();

// 从图像中识别文本    
RecognitionResult result = api.RecognizePage(imagePath, new RecognitionSettings());

// 得到更正的结果
String correctedResult = result.getSpellCheckCorrectedText(SpellCheckLanguage.Eng);

// 显示结果
System.out.println(correctedResult);
在 Java 中使用拼写更正将图像转换为文本

在 Java 中使用拼写更正将图像转换为文本

在 Java 中使用更正的拼写将图像保存为文本

我们可以按照以下步骤在拼写校正后从图像中保存识别的文本:

  1. 首先,创建 AsposeOCR 类的实例。
  2. 接下来,初始化 RecognitionSettings 类的对象。
  3. 之后,通过调用 RecognizePage() 方法获取 RecognitionResult。它将图像路径和 RecognitionSettings 对象作为参数。
  4. 最后,调用 saveSpellCheckCorrectedText() 方法保存文本。

以下示例代码显示了如何在 Java 中保存带有拼写纠正的文本。

// 此代码示例演示如何使用拼写更正保存已识别的文本。
// 要识别的图像路径
String imagePath = "C:\\Files\\sample.jpg";
String resultPath = "C:\\Files\\MyResult.txt";

// 创建 OCR API
AsposeOCR api = new AsposeOCR();

// 初始化识别设置
RecognitionSettings settings = new RecognitionSettings();

// 从图像中识别文本 
RecognitionResult result = api.RecognizePage(imagePath, new RecognitionSettings());

// 保存更正的文本
result.saveSpellCheckCorrectedText(resultPath, Format.Text, SpellCheckLanguage.Eng);

Java 中的拼写检查文本

我们还可以按照以下步骤对自定义文本运行拼写检查:

  1. 首先,创建 AsposeOCR 类的实例。
  2. 接下来,调用 CorrectSpelling() 方法。它将要更正的文本和 SpellCheckLanguage 作为参数。
  3. 最后,展示结果。

以下示例代码显示了如何在 Java 中对自定义文本进行拼写检查。

// 此代码示例演示如何对自定义文本字符串运行拼写检查。
// 拼写检查的文本
String textToCorrect = "This is sample text wth errrors";

// 创建 OCR API
AsposeOCR api = new AsposeOCR();

// 运行拼写检查以纠正错误
String correctedText = api.CorrectSpelling(textToCorrect, SpellCheckLanguage.Eng);

// 显示结果
System.out.println(correctedText);
This is sample text with errors

Get a Free Evaluation License

您可以获得免费的临时许可证 试用 Aspose.OCR for Java,不受评估限制。

Conclusion

在本文中,我们学习了如何:

  • 执行 OCR 并识别图像上的文本;
  • 将图像转换为文本;
  • 获取拼写错误的单词列表以及正确的单词建议;
  • 自动更正拼写错误;
  • 使用 Java 保存更正后的文本。

除了通过拼写更正将图像转换为文本外,您还可以使用 文档 了解更多关于 Aspose.OCR for Java API 的信息。如有任何歧义,请随时在我们的 免费支持论坛 上与我们联系。

See Also