المعالجة المسبقة للمسح وOCR المنظم

HPDFScanPreprocess تقبل Graphics.TBitmap مملوكة للمستدعي وتعيد صورة مصححة خاصة مع هندسة قابلة للانعكاس؛ وHPDFScanOCRWorkflow تستخدم IHPDFOCREngine قائمةً لتعيد كلمات مُخططة وتخطيطًا دلاليًا

ملف القبول المرفق يستخدم Delphi وFPC/Lazarus على Windows; ومحول عملية OSD من Tesseract يستخدم واجهات Windows وليس جزءًا من ملف المستندات الأصلي headless على Linux

التصحيحات والدليل

ترتيب التصحيح هو رباعي منظور من المستدعي ثم اتجاه باتجاه عقارب الساعة ثم deskew بزاوية مستمرة، بعينة بILINE عكسية وتعبئة بيضاء خارج منطقة المصدر المقدَّمة

الاتجاه الصريح يدعم 0 و90 و180 و270 درجة باتجاه عقارب الساعة؛ والاتجاه التلقائي يتطلب كاشفًا ويرفض أدلة غير كافية أو مشوهة

HPDFScanOrientationTesseract تزوّد محول OSD حقيقيًا لـ Tesseract على Windows بملف تنفيذي صريح ومجلد tessdata يحتوي osd.traineddata; وتطلق --psm 0 -l osd --dpi 300 مباشرةً في عملية خفية بلا shell

عتبة هامش الاتجاه الخام الافتراضية 15؛ وLastOrientationScore تحفظ نتيجة Tesseract الفعلية والثقة المقيسة هي النتيجة مقسومة على 15 مقصوصة إلى [0, 1]; وهذه القياسات مقياس دليل لا احتمال معاير

deskew التلقائي يعيّن بكسلات داكنة فعلية ويقارن تركّز إسقاط الصفوف على نطاق زوايا محدود السقف؛ والنطاق الافتراضي ±10 درجات بخطوات 0.25 درجة وعتبة دليل 0.2؛ والدليل غير الكافي يحفظ الزاوية الصريحة ويسجل DeskewAccepted = False

deskew صريح يقبل أي زاوية مستمرة من -180 إلى 180 درجة؛ والبحث التلقائي يدعم نصف قطر حتى 45 درجة، والخطوة يجب أن تكون بين 0.1 و5 درجات

تصحيح المنظور يتطلب رباعيًا محدبًا منتهيًا مرتبًا أعلى-يسار وأعلى-يمين وأسفل-يمين وأسفل-يسار داخل raster المصدر وأبعاد هدف صريحة؛ ولا يُزوَّد كشف رباعي تلقائيًا

التنظيف والميزانيات المنتهية

الافتراضيات تقنّن ظلال البلاطات المحلية وتزيل صفوف وأعمدة الحواف الداكنة المتصلة وتحفظ المخرج بتدرج رمادي؛ ويمكن تفعيل تخفيف ضوضاء بوسيط 3 × 3 ومخرج ثنائي اختياريًا

التنظيف يبيّض بكسلات الحواف دون تغيير أصل الإحداثيات؛ وRemovedBorderPixels تبلّغ البكسلات المتأثرة والـ rasters الفارغة الموحدة تتخطى OCR

الافتراضيات 32768 بكسلًا لكل بُعد و16777216 بكسل إدخالًا ومخرجًا وتقدير تخصيص عمل متحفظ 512 MiB و500000000 وحدة عمل و20000 عينة deskew؛ ويجب أن تتسع بكسلات المصدر إضافيًا في فهرس عدد صحيح موقَّع

التقدير يغطي استنساخات raster مملوكة ومصفوفات تدرج رمادي وتخزين مخرجات وعينات ومدرجات تكرار؛ وهو لا يكبس bitmap المصدر للمستدعي ولا تخصيصات رسوم نظام التشغيل ولا محرك OCR خارجيًا اعتباطيًا

‏Tesseract OSD تحدد سقفًا منفصلًا للبكسلات ومجموع stdout/stderr وتستقصي الإلغاء وحجم المخرجات كل 25 مللي ثانية وتنهي الابنة عند مهلة أو إلغاء أو فيض مخرجات؛ والمهلة يجب أن تكون بين 1 و3600000 مللي ثانية وحد المخرجات بين 1024 و1048576 بايت

الملكية والتراجع

HPDFPreprocessScan لا تحرر bitmap المصدر أبدًا؛ وعند النجاح يحرر المستدعي OutputBitmap، بينما الفشل يعيد nil وحالة مع دليل تشخيصي

الكاشف يتلقى نسخة خاصة؛ والإلغاء تعاوني عند حدود الصفوف وزوايا المرشحين وانتظار العمليات ومعالجة الكلمات؛ ومحرك OCR مقدَّم يجب أن يكرّم token الطلب وحدود عملياته ومخرجاته الخاصة

سير العمل يمسح الكلمات والتخطيط الدلالي ورباعيات الأسطر بعد كل فشل؛ والمحول يحفظ حالة تقرير أخير قابلة للتغيير وينبغي استخدامه مسلسلًا

الهندسة وOCR المنظم

إحداثيات Raster تستخدم أصلًا أعلى-يسار ومراكز بكسل؛ والمصفوفة المتجانسة تعمل على متجه العمود (X, Y, 1) مع قسمة على إحداثيها الثالث؛ وضرب التحويل A × B يطبق B أولًا

SourceToOutput وOutputToSource تحفظان العملية الأفينية أو الإسقاطية كاملةً؛ وخطط سجلَي إدخال ومخرجات منفصلين عند استخدام المساعدات العامة

غلاف OCR يزوّد المُدقق raster المصحح بحدود PDF مؤقتة غير مدوّرة، ويتحقق من UTF-16 ومستطيلات كلمات منتهية، ويهمل كلمات ثقتها غير الكافية أو غير القابلة للتخطيط، ويخطط المستطيلات وخطوط الأساس والزوايا الأربع عائدًا إلى raster الأصلي

PageQuad والحدود الدلالية تراعيان صندوق صفحة PDF الوارد وDPI ودوران الصفحة 0 أو 90 أو 180 أو 270 درجة؛ وترتيب القراءة يُحلَّل في الإطار المعترل المصحح قبل تخطيط الهندسة عائدًا

فترات المحارف تُستوفى من صناديق كلمات OCR وتبقى تقريبية؛ ورباعيات الأسطر تحفظ الدوران والمنظور اللذين لا يمكن لحدود محاذاة المحاور تمثيلهما

HPDFScanOCRLayoutToDOM تنشئ كومة قابلة للتحرير مملوكةً بترتيب التحليل، مستخدمةً عقد عناوين للعناوين المكتشفة وعقد نص لبقية الأسطر

مثال

Options := HPDFDefaultScanOCRWorkflowOptions;
Options.Preprocess.AutoOrientation := True;
Detector := HPDFCreateTesseractOrientationDetector(
  TesseractExecutable, OSDModelDirectory,
  HPDFDefaultTesseractOrientationOptions);
Adapter := HPDFCreateScanPreprocessingOCREngine(
  ExistingOCREngine, Options, Detector);
if Adapter.Recognize(Request, Words, Diagnostic) then
begin
  Report := Adapter.LastReport;
  DOM := HPDFScanOCRLayoutToDOM(Report);
  try
    // Consume the editable semantic output here
  finally
    DOM.Free;
  end;
end;

التحقق

مجموعة Delphi غير GUI تفحص الاتجاه الصريح والزوايا المستمرة القابلة للانعكاس عبر ±179.25 درجة واتجاه Tesseract تلقائيًا حقيقيًا بقيم 0/90/180/270 ورفض الفراغ وتصحيح ميل تلقائي حقيقي بخمس درجات وتنظيف ضوضاء وظلال وزوايا منظور وميزانيات وإلغاءً وعدم قابلية تغيير المصدر وOCR إنجليزيًا حقيقيًا على ستة متغيرات raster بينها مسح بزاوية 37.5 درجة

كل زاوية كلمة مقبولة في حالات OCR الفعلية تُخطط عائدًا عبر التحويل المعاكس وتُفحص داخل 1e-6 بكسل raster مصحح؛ ومجموعة FPC التجريبية تنفذ إضافيًا deskew حقيقيًا وإلغاءً وحدود تخصيص وOSD بزاوية 180 وفراغًا وتخطيط OCR إنجليزيًا حقيقيًا

الرؤوس العامة المولَّدة تترجم تحت C++Builder بـ Win32 وWin64x، بما يشمل تقارير OCR مُدارة ووسائط واجهات افتراضية وتحويلات هندسة وملكية DOM

اضبط HOTPDF_TESSERACT_EXE وHOTPDF_TESSDATA لنموذج OSD وHOTPDF_OCR_TESSDATA للنموذج الإنجليزي لتفعيل تحقق المحرك الخارجي؛ وإعدادات runtime الاختيارية المفقودة لا تؤسس قبول OCR حقيقيًا