对图像进行 OCR 识别并显示结果 - Java

本教程介绍如何使用 LEAD OCR 引擎对图像进行 OCR 处理,并在使用 LEADTOOLS SDK 的 Java 应用程序中向用户显示识别出的单词。

概述  
概括 本教程介绍如何对图像进行 OCR 并在 Java 应用程序中显示识别的文本。
完成时间 20分钟
Visual Studio 项目 下载教程项目 (2 KB)
平台 Java 应用程序
集成开发环境 Eclipse
开发许可证 下载 LEADTOOLS

所需知识

在进行OCR 图像和显示结果教程之前,请先查看添加引用和设置许可证教程,熟悉创建项目的基本步骤。

创建项目并添加 LEADTOOLS 引用

从“添加引用”和“设置许可证”教程中创建的项目副本开始。如果您没有该项目,请按照该教程中的步骤创建它。

所需的引用取决于项目的目的。本教程需要以下 JAR 文件:

JAR 文件位于<INSTALL_DIR>\LEADTOOLS23\Bin\Java

  • leadtools.jar
  • leadtools.codecs.jar
  • leadtools.document.writer.jar
  • leadtools.ocr.jar

有关应用程序所需的 JAR 文件的完整列表,请参阅Java 应用程序要包含的文件

设置许可证文件

许可证用于解锁项目所需的功能。必须在调用任何工具包函数之前设置许可证。有关详细信息(包括不同平台的教程),请参阅设置运行时许可证

运行时许可证有两种类型:

  • 评估许可证,在下载评估工具包时获得。它允许对工具包进行评估。
  • 部署许可证。如果需要部署许可证文件和开发者密钥,请参阅获取许可证

添加OCR代码

创建项目、添加参考并设置许可证后,就可以开始编码了。

包资源管理器中,打开该类_Main.java。将以下import语句添加到顶部的导入块中。

import java.io.IOException; 
import java.nio.file.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.ocr.*; 

将下面的全局变量添加到_Main类中。

private OcrEngine ocrEngine; 
private RasterCodecs codecs; 

将下面的代码添加到run()方法中以初始化OcrEngine

private void run(String[] args) throws IOException { 
	Platform.setLibPath("C:\\LEADTOOLS23\\Bin\\CDLL\\x64"); 
	Platform.loadLibrary(LTLibrary.LEADTOOLS); 
	Platform.loadLibrary(LTLibrary.CODECS); 
	Platform.loadLibrary(LTLibrary.DOCUMENT_WRITER);  
	Platform.loadLibrary(LTLibrary.OCR);  
				  
	SetLicense(); 
			 
	codecs = new RasterCodecs();  
	ocrEngine = OcrEngineManager.createEngine(OcrEngineType.LEAD);  
	ocrEngine.startup(codecs,null,null,"C:\\LEADTOOLS23\\Bin\\Common\\OcrLEADRuntime"); 
		     
	OcrPage page = LoadImage(); 
	StringBuilder sb = OcrImageText(page); 
		     
	System.out.println(sb); 
} 

_Main向名为LoadImage和 的类添加两个新方法OcrImageText。这些方法将在方法内部调用run(),如上所示。将以下代码添加到LoadImage方法中以加载图像并创建OcrPage的新实例。

private OcrPage LoadImage() 
{ 
	String inputFile = "C:\\LEADTOOLS23\\Resources\\Images\\ocr1.tif"; 
		 
	RasterImage image = codecs.load(inputFile); 
	OcrPage ocrPage = ocrEngine.createPage(image, OcrImageSharingMode.AUTO_DISPOSE); 
		 
	return ocrPage; 
} 

将以下代码添加到OcrImageText方法中以对图像进行 OCR 并创建包含结果的 StringBuilder 对象。

Ja
private StringBuilder OcrImageText(OcrPage page) 
{ 
	StringBuilder sb = new StringBuilder(); 
		 
	page.recognize(null); 
		 
	for(int i = 0; i < page.getZones().size(); i++) 
	{ 
		String zoneText = page.getText(i); 
		sb.append(zoneText); 
		sb.append("\n"); 
	} 
	return sb; 
} 

运行项目

通过选择运行 -> 运行来运行项目。

如果正确遵循这些步骤,应用程序将对给定的图像进行 OCR 并在控制台中显示结果。

本教程展示了如何初始化 LEAD OCR 引擎、对图像进行 OCR、收集识别的文本并显示它。

参见

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐