ConfigureTesseractOCR

OCR، الإعداد

الوصف

ينشئ مزود Tesseract مملوكًا للمثيل ويعيّنه إلى OnOCRPage، فتصبح توابع OCR للصفحة والمستند قابلة للاستخدام دون callback من التطبيق

الصيغة

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 الملف التنفيذي مباشرة دون shell أو وحدة تحكم مرئية، ويستخدم ملفات مؤقتة خاصة، ويفرض حدودًا للوقت والمخرجات، ويحلل التسلسل الهرمي لـ hOCR وخطوط أساس الأسطر المتحقَّق منها

كشف الاتجاه معطَّل افتراضيًا؛ وعند تفعيله تُفشل نتيجة OSD المفقودة أو منخفضة الثقة العملية صراحةً بدلًا من تخمين اتجاه

يدير التصحيح المتحقَّق منه بكسلات PNG ثمانية البتات غير المتشابكة المدعومة ربع دورة دون استيفاء، ويتعرف على الصورة المعتمدة، ثم يعيد إسقاط صناديق الكلمات ونهايات خطوط الأساس إلى إحداثيات الصورة الأصلية

خط الأساس بعد الإسقاط يحمل اتجاه النص أصلًا ولا يتلقى زاوية الاتجاه مرة ثانية

يحافظ إعادة الإعداد غير الصالحة على المزود القائم؛ وإعادة الإعداد المقبولة تستبدل المزود المملوك السابق

يبقى callback التطبيق الذي يُعيَّن لاحقًا مملوكًا للتطبيق، وتصونه 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