Tesseract 詳細設定
在 OCR 領域,針對文件內容的處理與文字擷取方式,具備多元選擇與靈活性至關重要。 由於執行 OCR 成本高昂,因此必須能夠針對特定文件控制執行效能與使用方法,以確保採用 OCR 的應用程式具備可擴展性與高效能。
IronTesseract 為開發人員提供了各種屬性與選項,供其自由調整。 舉例來說,若您想將特定字元加入黑名單、讀取文件內的 BARCODE,甚至指定 OCR 引擎如何解析頁面以掃描潛在的文字區塊,這些功能以及更多功能,皆可透過 IronTesseract 類別實現。
使用 IronOCR 與 Tesseract 5 的 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 Engine 的語言設定。 此變體結合了LSTM與OEM,這兩者是利用 OCR 的形狀識別策略; 結合這兩種策略,可讓 OCR 產生更準確的結果。 - 隨後,我們將
ReadBarCodes設為 false,以避免在 OCR 過程中讀取 BARCODE。
我們還可透過將文件中的特定字元加入黑名單,進一步自訂並指定欲擷取的字元; 在此範例中,我們將特定字元加入黑名單,以避免擷取包含反引號、重音符號或插入符號的文字。 最後,我們將 TesseractVariables["tessedit_parallelize"] 設為 false,暫時停用並行處理功能。 這項功能非常強大,因為它能直接與 Tesseract 引擎進行互動。以下是 TesseractVariables 的完整清單,開發人員可藉此在執行 OCR 時進一步自訂 Tesseract 引擎的行為。

