تطبيق Java OCR




(5)

إذا كنت تبحث عن خيار قابل للتوسعة للغاية أو لديك مجال مشكلة معين ، يمكنك التفكير في استخدام الخاص بك باستخدام Java Object Oriented Engine Neural Engine . مرجع JOONE آخر.

استخدمتها بنجاح في مشروع شخصي لتحديد الحرف من صورة مثل this ، يمكنك العثور على كل مصدر مكون OCR من طلبي على جيثب ، here .

هذا هو في المقام الأول مجرد فضول ، ولكن هل هناك أي تطبيقات OCR في جافا نقية؟ أنا أشعر بالفضول كيف يمكن أن يؤدي هذا بشكل بحت في Java ، و OCR بشكل عام يهمني ، لذلك أحب أن أرى كيف يتم تنفيذه بلغة أتفهمها تمامًا. وبطبيعة الحال ، قد يتطلب ذلك أن يكون التنفيذ مفتوح المصدر ، ولكني لا زلت مهتمًا بالحلول الخاصة ، حيث يمكنني على الأقل التحقق من الأداء في هذه الحالة.

لقد رأيت زوجين يمكن استخدامهما في Java (مثل Asprise ) ولكن لا يبدو أن هذه تطبيقات جافا نقية ... هل هناك أي شيء؟


فقط وجدت هذا واحد (لا أعرف ذلك ، لم تختبر ، تحقق من نفسك)

رون Cemer جافا OCR

كما تحتاج فقط هذا للفضول يمكنك البحث في مصدر هذا التطبيق الصغير.

يفعل OCR من الشخصيات المكتوبة بخط اليد مع شبكة عصبية

جافا OCR: التعرف على خط اليد


لقد اختبرنا بعض محركات OCR مع جافا مثل Tesseract ، Asprise ، Abbyy الخ. في تحليلنا ، أعطى Abbyy أفضل النتائج.


هناك مجموعة متنوعة من مكتبات OCR هناك. ومع ذلك ، فإن خبرتي هي أن التطبيقات التجارية الرئيسية ، ABBYY ، Omnipage ، و ReadIris ، تفوق بكثير التطبيقات المفتوحة المصدر أو غيرها. لم يتم تصميم هذه المكتبات التجارية في المقام الأول للعمل مع جافا ، على الرغم من أنها بالطبع ممكنة.

وبالطبع ، إذا كان اهتمامك هو معرفة الشفرة ، فإن التطبيقات مفتوحة المصدر ستؤدي الحيلة.


ملاحظة: هذا مجرد ملحق للإجابة المقبولة.

هذا مرتبط بمعدلات Java Access .

من Java Access Modifiers :

يحدد معدّل الوصول إلى Java الفئات التي يمكنها الوصول إلى فئة معينة والحقول والمنشئات والأساليب الخاصة بها. يمكن تحديد معدّلات الوصول بشكل منفصل لفئة ، والمكونات ، والحقول ، والأساليب. يتم أيضًا الإشارة إلى معدِّلات الوصول إلى Java أحيانًا في الكلام اليومي مثل محددات الوصول إلى Java ، لكن الاسم الصحيح هو معدِّلات الوصول إلى Java. يمكن أن تحتوي الفئات والحقول والمنشئات والطرق على واحد من أربعة معالجات مختلفة للدخول إلى Java:

  • قائمة الاغراض
  • نشر
  • الافتراضي (حزمة)
  • محمي
  • عامة

من التحكم في الوصول إلى أعضاء البرامج التعليمية Class :

تحدد معدّلات مستوى الوصول ما إذا كان بإمكان الفئات الأخرى استخدام حقل معين أو استدعاء طريقة معينة. هناك مستويان من التحكم في الوصول:

  • في المستوى العلوي - عام أو حزمة خاصة (بدون معدِّل صريح).
  • على مستوى الأعضاء - عامة أو خاصة أو محمية أو حزمة خاصة (بدون معدِّل صريح).

قد يتم الإعلان عن فئة مع الجمهور المعدل ، وفي هذه الحالة تكون هذه الفئة مرئية لجميع الفئات في كل مكان. إذا لم يكن للفئة معدِّل (الافتراضي ، المعروف أيضًا باسم package-private) ، فسيكون مرئيًا فقط داخل الحزمة الخاصة به

يوضح الجدول التالي إمكانية الوصول إلى الأعضاء المسموح به من قبل كل معدّل.

╔═════════════╦═══════╦═════════╦══════════╦═══════╗
║ Modifier    ║ Class ║ Package ║ Subclass ║ World ║
╠═════════════╬═══════╬═════════╬══════════╬═══════╣
║ public      ║ Y     ║ Y       ║ Y        ║ Y     ║
║ protected   ║ Y     ║ Y       ║ Y        ║ N     ║
║ no modifier ║ Y     ║ Y       ║ N        ║ N     ║
║ private     ║ Y     ║ N       ║ N        ║ N     ║
╚═════════════╩═══════╩═════════╩══════════╩═══════╝

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

تؤثر مستويات الوصول عليك بطريقتين. أولاً ، عند استخدام الفئات التي تأتي من مصدر آخر ، مثل الفئات في النظام الأساسي لـ Java ، فإن مستويات الوصول تحدد أعضاء تلك الفئات التي يمكن أن تستخدمها فصولك الخاصة. ثانياً ، عندما تكتب فصل دراسي ، يجب أن تحدد مستوى الوصول لكل متغير عضو ويجب أن يكون لكل طريقة في صفك.





java ocr