ConfigureTesseractOCR

OCR、組態

描述

建立實例自有的 Tesseract 供應商並指派給 OnOCRPage,讓頁面與文件 OCR 方法不必依賴應用程式回呼就能使用

語法

Delphi

Function TPDFlib.ConfigureTesseractOCR(Const Executable,
  TessDataDirectory: WideString; DetectOrientation: Boolean= False;
  MinOrientationConfidence: Double= 15; TimeoutMS: Integer= 120000): Boolean;

ActiveX

Function PDFlib::ConfigureTesseractOCR(Executable As String,
  TessDataDirectory As String, DetectOrientation As Long,
  MinOrientationConfidence As Double, TimeoutMS As Long) As Long

DLL

int DLConfigureTesseractOCR(int InstanceID, const wchar_t* Executable,
  const wchar_t* TessDataDirectory, int DetectOrientation,
  double MinOrientationConfidence, int TimeoutMS);
int DLConfigureTesseractOCRA(int InstanceID, const char* Executable,
  const char* TessDataDirectory, int DetectOrientation,
  double MinOrientationConfidence, int TimeoutMS);

參數

Executable既有 Tesseract 執行檔的路徑
TessDataDirectorytrained-data 目錄,或空字串讓引擎走它平常的資料查找流程
DetectOrientation預設 False;true 會在辨識前執行 OSD,並明確修正回報的 0、90、180 或 270 度順時針旋轉
MinOrientationConfidence有限的非負 Tesseract OSD 信賴分數,預設 15;這個分數與 0 到 1 的字組信賴度閾值是兩回事
TimeoutMS每個引擎處理序的逾時毫秒數(正數),預設 120000;需要定向的頁面可能分別執行 OSD 與辨識兩個處理序

傳回值

組態被接受時 Delphi 傳回 true;DLL 與 ActiveX 在成功時傳回 1,組態無效時傳回 0

備註

引擎是選配的,由應用程式自行提供;設定組態不會安裝執行檔、下載模型,也不會修改使用者的 Tesseract 設定

執行檔路徑與選擇性的資料目錄路徑會在設定時檢查;模型是否可用與引擎實際執行,則等到真正辨識頁面時才檢查

要求的語言需要對應的 trained-data 檔案,例如 eng.traineddata;方向偵測還需要 osd.traineddata

Windows 配接器直接啟動執行檔,不經過 shell 也不顯示主控台,使用私有的暫存檔,強制時間與輸出限制,並解析 hOCR 階層與經驗證的行基線

方向偵測預設停用;啟用後,OSD 結果遺漏或信賴度過低都會明確失敗,而不是猜一個方向

經驗證的修正會把支援的非交錯式 8 位元 PNG 像素以四分之一圈旋轉(不經插值),對轉正後的影像做辨識,再把字組方塊與基線端點對應回原始影像座標

對應後的基線已帶有文字方向,不會再第二次套用方向角度

無效的重新設定會保留既有供應商;被接受的重新設定會取代先前的自有供應商

之後才指派的應用程式回呼仍歸應用程式所有,ClearTesseractOCR 與實例解構都會保留它

範例

if not PDF.ConfigureTesseractOCR('C:\Tools\Tesseract\tesseract.exe',
  'C:\OCR\tessdata', True, 15, 120000) then
  raise Exception.Create(PDF.LastOCRError);
Processed := PDF.OCRDocumentEx('', 300, 'eng', 'Arial', 0.5,
  PDF_OCR_SKIP_EXISTING_TEXT or PDF_OCR_REPLACE_OWNED_LAYER);
ReportJSON := PDF.GetOCRDiagnosticsJSON;

另請參閱

ClearTesseractOCR, OCRPageEx, OCRDocumentEx, GetOCRDiagnosticsJSON, OnOCRPage