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 |
|---|---|
| TessDataDirectory | Каталог обученных данных или пустая строка, чтобы движок использовал свой обычный поиск данных |
| DetectOrientation | По умолчанию False; true запускает OSD перед распознаванием и явно исправляет сообщённый поворот на 0, 90, 180 или 270 градусов по часовой стрелке |
| MinOrientationConfidence | Конечный неотрицательный балл уверенности OSD Tesseract, по умолчанию 15; этот балл не связан с порогом уверенности слова от 0 до 1 |
| TimeoutMS | Положительный тайм-аут в миллисекундах для каждого процесса движка, по умолчанию 120000; страница с определением ориентации может выполнить отдельные процессы OSD и распознавания |
Возвращаемые значения
Delphi возвращает true, когда конфигурация принята; DLL и ActiveX возвращают 1 при успехе и 0 при недопустимой конфигурации
Примечания
Движок опционален и поставляется приложением; конфигурация не устанавливает исполняемый файл, не скачивает модели и не меняет пользовательскую настройку Tesseract
Путь к исполняемому файлу и опциональный путь к каталогу данных проверяются при настройке; наличие моделей и реальное выполнение движка проверяются при распознавании страницы
Запрошенному языку нужен его файл обученных данных, например eng.traineddata; определению ориентации также нужен osd.traineddata
Адаптер Windows запускает исполняемый файл напрямую, без оболочки и видимой консоли, использует приватные временные файлы, соблюдает лимиты времени и вывода и разбирает иерархию 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