为 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
语句添加到顶部的导入块中。
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()
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,处理指定的输入文件,进行预处理,并将识别结果以指定的格式输出到指定的输出文件。
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 引擎,处理指定的输入文件,对其进行预处理,并将识别结果以指定的格式输出到指定的输出文件。