سؤال

حسنًا، أنا أستخدم نسخة .NET متوافقة من هذا التعرف الضوئي على الحروف والذي يمكن العثور عليه @ http://www.pixel-technology.com/freeware/tessnet2/

لقد قمت بتشغيله، ولكن الهدف من ذلك هو ترجمة لوحات الترخيص، وللأسف المحرك لا يترجم بدقة بعض الحروف، على سبيل المثال، هذه صورة قمت بمسحها ضوئيًا لتحديد مشاكل الأحرف

enter image description here

نتيجة:

12345B7B9U ABCDEFGHIJKLMNUPIJRSTUVHXYZ

لذلك تتم ترجمة الأحرف التالية بشكل غير صحيح:

1، أو، س، ث

لا يبدو هذا سيئًا للغاية، ولكن على لوحات الترخيص الخاصة بي، فإن النتيجة ليست رائعة جدًا:

enter image description here = H4 أوديإم

enter image description here = LDH IFW

اختبار وهمي

enter image description here = NR4y2k

كما يمكنك أن تقول، لقد حاولت تقليل الضوضاء، وزيادة التباين، وإزالة وحدات البكسل التي ليست سوداء تمامًا، دون أي تحسينات حقيقية.

من الواضح أنه يمكنك "تعلم" الخطوط الجديدة للمحرك، ولكن أعتقد أنني سأحتاج إلى إعادة ترجمة المكتبة لـ .NET، ويبدو أيضًا أن هذا يتم إجراؤه على نظام التشغيل Linux الذي لا أملكه.

http://www.scribd.com/doc/16747664/Tesseract-Trainingfor-Khmer-LanguageFor-Posting

لذلك فأنا محتار بشأن ما يجب تجربته بعد ذلك، لقد كتبت تطبيقًا سريعًا لوحدة التحكم لأغراض الاختبار فقط إذا أراد أي شخص تجربته.إذا كان لدى أي شخص أي أفكار/معالجة رسومية/أفكار مكتبة، سأكون ممتنًا لسماعها.

هل كانت مفيدة؟

المحلول

لقد استخدمت Tesseract عبر Tessnet2 مؤخرًا (Tessnet2 عبارة عن غلاف VS2008 C++ حول Tesseract 2.0 من صنع Rémy Thomas، إذا كنت أتذكر جيدًا).اسمحوا لي أن أحاول مساعدتك من خلال المعرفة القليلة التي أملكها فيما يتعلق بهذه الأداة:

  • أولاً، كما قلت أعلاه، هذا المجمع مخصص فقط لـ Tesseract 2.0، و أحدث إصدار من Tesseract على Google Code هو 3.00 (لم يعد الكود مستضافًا على Source Forge).هناك مساهمين منتظمين:رأيت أن الإصدار 3.01 أو نحو ذلك مخطط له.لذلك، لن تستفيد من التحسينات الأخيرة، بما في ذلك تحليل تخطيط الصفحة الذي قد يساعدك عندما لا تكون لوحات ترخيصك أفقية بنسبة 100%.

  • لقد طلبت من Rémy برنامج تضمين Tessnet2 .NET حول الإصدار 3، وهو لا يخطط لأي شيء في الوقت الحالي.لذا، كما فعلت، عليك أن تفعل ذلك بنفسك!

  • لذا، إذا كنت ترغب في الحصول على أحدث إصدار من المصادر، فيمكنك تنزيلها من الموقع التخريب المستودع (كل شيء موصوف في صفحة موقع مخصصة) وستكون قادرًا على تجميعها إذا كان لديك Visual Studio 2008، نظرًا لأن مصادرها تحتوي على حل VS2008 في vs2008 المجلد الفرعي.يتكون هذا الحل من مشاريع VS2008 C++، لذا لتتمكن من الحصول على نتائج في C#، سيتعين عليك استخدام .NET P/Invoc مع tessDll التي بناها المشروع.مرة أخرى، إذا كنت بحاجة إلى ذلك، فلدي أمثلة على التعليمات البرمجية التي قد تهمك، ولكن قد ترغب في الاستمرار في استخدام C++ وتنفيذ مشاريع WinForm الجديدة الخاصة بك، على سبيل المثال!

  • عندما تنتهي من التجميع (لا ينبغي أن تكون هناك مشكلات كبيرة لذلك، ولكن أخبرني إذا واجهت بعضًا منها، فربما واجهتها أيضًا :-) )، سيكون لديك العديد من الثنائيات التي ستسمح لك بإجراء تدريب محدد!مرة أخرى، هناك صفحة مخصصة للتدريب على لعبة Tesseract 3.بفضل هذا التدريب يمكنك:

    • تقييد مجموعة الأحرف الخاصة بك، مما سيؤدي تلقائيًا إلى إزالة علامات الترقيم ('/-\' بدلاً من 'A'، على سبيل المثال)

    • قم بالإشارة إلى نقاط الغموض التي اكتشفتها ('D' بدلاً من 'O' كما ترون، 'B' بدلاً من '8' وما إلى ذلك) والتي سيتم أخذها في الاعتبار عند استخدام التدريب الخاص بك.

  • ورأيت أيضًا أن نتائج Tesseract تكون أفضل إذا قمت بتقييد الصورة في المنطقة التي توجد بها الحروف (أي.لا وجه ولا منظر طبيعي حوله):في حالتي، كنت بحاجة إلى التعرف فقط على منطقة معينة من صور البطاقات المأخوذة من كاميرا الويب، لذلك استخدمت معالجة الصور لتقييد المنطقة.لقد كان ذلك طويلاً بالطبع، لكن صوري جاءت من مصادر مختلفة، لذلك لم يكن لدي أي خيار.إذا تمكنت من الحصول على صور مقيدة إلى الحد الأدنى، فسيكون ذلك رائعًا!

أتمنى أن يكون مفيدًا، فلا تتردد في إعطائي ملاحظاتك وأسئلتك!

نصائح أخرى

مرحبًا ، لقد فعلت الكثير مع tesseract ، ولدي بعض مشاكلك أيضًا. أنت تسأل عن أدوات معالجة الصور ، وأنصح "unpaper" (هناك منافذ windows أيضًا ، راجع google) هذا برنامج لطيف لإزالة الانحراف وعدم الدوران وإزالة الحدود والضوضاء وما إلى ذلك. رائع للجري قبل الأرق.

إذا كان لديك لون خلفية متغير (نوعًا ما) في صورك ، فإنني أوصي باستخدام "textcleaner" imagemagick script أعتقد أنه اكتشاف الحافة وتبييض جميع الأشياء غير المنفعلة.

وإذا كان لديك نص معقد ، فيمكن أن يكون "ocropus" مفيدًا. بناء الجملة هو (على لينكس): "ocroscript rec-tess"

إعدادي هو 1. textcleaner 2. unpaper 3. أوجروبس

بهذه الخطوات الثلاث يمكنني قراءة أي شيء تقريبًا. حتى الصور الباهتة + الصاخبة التي تم التقاطها في إضاءة غير متساوية ، مع وجود عمودين من النص المعبأ بإحكام ، تصبح سهلة القراءة. حسنًا ، ربما لا تكون احتياجاتك عبارة عن نصوص كثيرة ، ولكن الخطوة 1) و 2) قد تكون مفيدة لك.

أقوم حاليًا بإنشاء محرك التعرف على لوحة الترخيص من أجل ispy - لقد حصلت على نتائج أفضل بكثير من tesseract عندماقسّم لوحة الترخيص إلى أحرف فردية وقم ببناء صورة جديدة تُعرض عموديًا مع وجود مسافة بيضاء حولها مثل:

دبليو

4

س

س

م

أعتقد أن المشكلة الكبيرة التي تواجهها tesseract هي أنها تحاول تكوين كلمات من الأحرف والأرقام الأفقية ، وفي حالة اختلاط الأحرف والأرقام في لوحات الترخيص ، ستقرر أن الرقم هو حرف أو العكس.إدخال صورة مع تباعد الأحرف رأسياً يجعلها تعاملها كأحرف فردية بدلاً من نص.

قراءة رائعة! http://robotics.usc.edu/publications/downloads/pub/635/

حول مشكلة الانحراف في لوحات الترخيص:

المشكلة: عندما يتم أخذ إدخال OCR من كاميرا محمولة باليد أو غيرها من أجهزة التصوير التي لم يتم إصلاح منظورها مثل الماسح الضوئي ، قد تنحرف خطوط النص عن أصلها التوجه [13]. بناءً على تجاربنا ، يتم تغذية مثل الصورة التي تم تدويرها إلى محرك OCR الخاص بنا تنتج رديئة للغاية النتائج. النهج المقترح: هناك حاجة إلى عملية الكشف عن الانحراف قبل استدعاء محرك التعرف. إذا تم اكتشاف أي انحراف ، يتم تنفيذ إجراء تدوير تلقائي لتصحيح الانحراف قبل معالجة النص بشكل أكبر. أثناء تحديد الخوارزمية لاستخدامها في اكتشاف الانحراف ، وجدنا الكثير النهج ، مثل تلك المذكورة في [13] ، تستند إلى الافتراضات بأن المستندات لها هوامش وآخرون. ومع ذلك، هذا الافتراض لا يصح دائمًا في تطبيقنا. بالإضافة إلى ذلك ، الأساليب التقليدية القائمة على الصرفي العمليات وطرق الإسقاط بطيئة للغاية و تميل إلى الفشل في وجود الصور الملتقطة بالكاميرا. في هذا العمل ، نختار نهجًا أكثر قوة يعتمد على Branchand- خوارزمية البحث عن سطر النص المنضم (خوارزمية RAST) [25] لاكتشاف الانحراف والدوران التلقائي. الفكرة الأساسية لهذا الخوارزمية هي تحديد كل سطر بشكل مستقل واستخدام منحدر لأفضل خط تسجيل كزاوية انحراف لكامل جزء النص. بعد الكشف عن زاوية الانحراف ، يكون الدوران وفقا لذلك. بناءً على تجاربنا ، وجدنا هذه الخوارزمية لتكون قوية للغاية وفعالة للغاية و بسرعة. ومع ذلك ، فقد عانت من قيود طفيفة في بمعنى أنه فشل في اكتشاف دوران أكبر من 30. لقد جربنا أيضًا نهجًا بديلًا يمكنه اكتشاف أي منها زاوية انحراف تصل إلى 90. ومع ذلك ، كان هذا النهج قائمًا على وجود نوع من الصليب على الصورة. اجبة إلى بسبب نقص القابلية للتوسعة ، قررنا التمسك بـ RAST الخوارزمية.

tesseract 3.0x، بشكل افتراضي، يعاقب المجموعات التي ليست كلمات ولا توجد كلمات شائعة.تصف الأسئلة الشائعة طريقة لزيادة النفور من هذا الهراء.قد تجد أنه من المفيد إيقاف عقوبة الكلمات النادرة أو غير الموجودة، كما هو موضح (عكسيا) هنا: http://code.google.com/p/tesseract-ocrock/ ويكي / أسئلة وأجوبة # to_to_increase_the_trust_in / union_of_the_dictionary ؟

تستخدم ABCocr .NET Tesseract3 لذا قد يكون ذلك مناسبًا إذا كنت بحاجة إلى أحدث رمز ضمن .NET.

إذا واجه أي شخص من المستقبل هذا السؤال ، فهناك أداة تسمى jTessBoxEditor تجعل تدريس Tesseract أمرًا سهلاً.كل ما تفعله هو توجيهه إلى مجلد يحتوي على عينات من الصور ، ثم النقر فوق زر وإنشاء ملف * .learneddata الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top