Tesseract详细配置
说到 OCR,在如何处理和提取文档中的文本方面具有选择性和灵活性是至关重要的。 由于执行 OCR 的成本很高,因此需要能够控制在特定文档上使用的性能和方法,以确保使用 OCR 的应用程序具有可扩展性和效率。
IronTesseract 为开发人员提供了不同的属性和选项。 例如,如果您想将某些字符列入黑名单,或者还想读取文档中的条形码,甚至想指示OCR引擎如何读取页面以扫描可能的文本块,所有这些功能及更多都可以通过IronTesseract
类实现。
IronOCR 与 Tesseract 5 的五步使用指南
var ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.EnglishBest;
ocrTesseract.Configuration.ReadBarCodes = false;
ocrTesseract.Configuration.BlackListCharacters = "`ë^";
- ocrTesseract.Configuration.TesseractVariables["tessedit_parallelize"] = false;
在初始化IronTesseract
类后,有几个重要的选项可供立即修改,这些是我们希望修改的。 要配置的第一个属性是Language
。 默认语言为英语; 然而,IronTesseract
支持多达 125 种语言,甚至允许通过 UseMultipleLanguages
方法使用多种语言。 有关更多详细信息,请参阅此处。
我们想要配置的第二个属性是TesseractConfiguration
类。 通过该类,我们可以修改 Tesseract 引擎扫描文档以查找潜在文本块的方式。 首先,我们通过将语言分配给OcrLanguage.EnglishBest
来修改Tesseract引擎的语言。 该变体结合了 LTSM 和 OEM,这是一种使用 OCR 的形状识别策略; 将这两种策略结合起来,可以使 OCR 生成更准确的结果。 随后,我们将ReadBarCodes
设置为false,以避免在OCR过程中读取条形码。
我们还通过将文档中的某些字符列入黑名单,进一步定制和指定我们希望提取的字符; 在本例中,我们将字符列入黑名单,以避免提取包含反斜线、重音符号或粗体符号的文本。 最后,我们将TessreactVariables["tessedit_parallelize"]
设置为false,以暂时禁用并行处理。 最后一个功能非常强大,因为它直接与Tesseract引擎对接。这里是TesseractVariables
的完整列表,允许开发人员在执行OCR时进一步自定义Tesseract引擎的行为。 点击此处查看操作指南,包括示例、示例代码和文件。