ConfigureTesseractOCR
OCR, configuração
Descrição
Cria um provider Tesseract próprio da instância e o atribui à OnOCRPage, tornando os métodos de OCR de página e de documento utilizáveis sem um callback da aplicação
Sintaxe
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);
Parâmetros
| Executable | O caminho para um executável Tesseract existente |
|---|---|
| TessDataDirectory | O diretório de trained data, ou uma string vazia para deixar o engine usar a busca de dados normal dele |
| DetectOrientation | False por padrão; true executa OSD antes do reconhecimento e corrige explicitamente a rotação informada de 0, 90, 180 ou 270 graus no sentido horário |
| MinOrientationConfidence | Um score de confiança OSD do Tesseract finito e não negativo, padrão 15; esse score é distinto do limite de confiança de palavra de 0 a 1 |
| TimeoutMS | O timeout positivo em milissegundos para cada processo do engine, padrão 120000; uma página orientada pode executar processos separados de OSD e de reconhecimento |
Valores retornados
Delphi retorna true quando a configuração é aceita; DLL e ActiveX retornam 1 para sucesso e 0 para uma configuração inválida
Observações
O engine é opcional e é fornecido pela aplicação; a configuração não instala um executável, não baixa modelos e não modifica a configuração do Tesseract do usuário
O caminho do executável e o caminho opcional do diretório de dados são verificados durante a configuração; a disponibilidade dos modelos e a execução real do engine são verificadas quando uma página é reconhecida
O idioma solicitado precisa do arquivo de trained data dele, como eng.traineddata; a detecção de orientação também precisa do osd.traineddata
O adaptador do Windows lança o executável diretamente, sem shell nem console visível, usa arquivos temporários privados, impõe limites de tempo e de saída, e faz o parse da hierarquia hOCR e de baselines de linha verificadas
A detecção de orientação começa desabilitada; quando habilitada, um resultado OSD ausente ou de baixa confiança falha explicitamente em vez de adivinhar uma direção
Uma correção verificada gira os pixels PNG de 8 bits não entrelaçados suportados em um quarto de volta, sem interpolação, reconhece a imagem em pé e depois mapeia as caixas de palavras e os endpoints de baseline de volta para as coordenadas da imagem original
A baseline mapeada já carrega a direção do texto e não recebe o ângulo de orientação uma segunda vez
Reconfiguração inválida preserva o provider existente; reconfiguração aceita substitui o provider próprio anterior
Um callback de aplicação atribuído depois continua sendo da aplicação e é preservado pela ClearTesseractOCR e pela destruição da instância
Exemplo
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;
Veja também
ClearTesseractOCR, OCRPageEx, OCRDocumentEx, GetOCRDiagnosticsJSON, OnOCRPage