LEADTOOLS SDK 对图像进行OCR识别预处理的Java

为 OCR 预处理图像 - Java

本教程介绍如何创建使用 LEADTOOLS SDK 对图像进行 OCR 识别预处理的 Java 应用程序。

概述 
概括本教程介绍如何在 Java 应用程序中使用 LEADTOOLS 图像处理 SDK 技术
完成时间30分钟
项目下载教程项目 (2 KB)
平台Java 应用程序
集成开发环境
运行时许可证下载 LEADTOOLS
尝试使用其他语言

所需知识

在开始OCR 预处理图像 - Java教程之前,请先查看添加引用和设置许可证教程,熟悉创建项目的基本步骤。

创建项目并添加 LEADTOOLS 引用

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

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

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

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

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

设置许可证文件

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

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

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

注意:在添加引用和设置许可证教程中更详细地介绍了添加 LEADTOOLS 引用和设置许可证

添加图像预处理和OCR代码

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

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

Java
import java.io.IOException; 
import java.nio.file.Files; 
import java.nio.file.Paths; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.document.writer.*; 
import leadtools.ocr.*; 

OCRPreprocess()向类中添加一个新方法。在方法内部,调用之后_Main调用该方法。run()SetLicense()

Java
public static void main(String[] args) throws IOException { 
	new _Main().run(args); 
} 
 
private void run(String[] args) { 
	try { 
		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(); 
			 
		OCRPreprocess(); 
	} catch(Exception ex) { 
		System.err.println(ex.getMessage()); 
		ex.printStackTrace(); 
	} 
} 

在方法中添加如下代码,OCRPreprocess()初始化LEAD OCR Engine,处理指定的输入文件,进行预处理,并将识别结果以指定的格式输出到指定的输出文件。

Java
void OCRPreprocess() { 
	String tifFileName = "C:\\LEADTOOLS23\\Resources\\Images\\ocr1.tif"; 
	String pdfFileName = "C:\\LEADTOOLS23\\Resources\\Images\\cleanupTIF.pdf"; 
	RasterCodecs codecs = new RasterCodecs(); 
	RasterImage image = codecs.load(tifFileName); 
		 
	OcrEngine ocrEngine = OcrEngineManager.createEngine(OcrEngineType.LEAD); 
	ocrEngine.startup(new RasterCodecs(), new DocumentWriter(), null, null); 
		 
	OcrDocument ocrDocument = ocrEngine.getDocumentManager().createDocument(); 
	OcrPage ocrPage = ocrDocument.getPages().addPage(image, null); 
		 
	// Auto-preprocess it 
	ocrPage.autoPreprocess(OcrAutoPreprocessPageCommand.DESKEW, null); 
	ocrPage.autoPreprocess(OcrAutoPreprocessPageCommand.INVERT, null); 
	ocrPage.autoPreprocess(OcrAutoPreprocessPageCommand.ROTATE, null); 
		 
	// Recognize it and save it as PDF 
	ocrPage.recognize(null); 
	ocrDocument.save(pdfFileName, DocumentFormat.PDF, null); 
	System.out.println("File saved successfully."); 
} 

运行项目

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

如果正确遵循这些步骤,应用程序应该对 TIFF 进行 OCR 并提供清理后的可搜索 PDF 文档。

本教程展示了如何初始化 LEAD OCR 引擎,处理指定的输入文件,对其进行预处理,并将识别结果以指定的格式输出到指定的输出文件。

参见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值