1. منتجات
  2.   OMR
  3.   Ruby
  4.   Mork
 
  

إنشاء تطبيقات OMR مخصصة عبر واجهات برمجة تطبيقات بايثون المفتوحة المصدر

مكتبة OMR مجانية ومفتوحة المصدر رائدة مبنية على بايثون صُممت لمهام التعرف الضوئي على العلامات (OMR). تدعم الكشف القائم على القوالب، ومعالجة الصور، والتخصيص.

ما هي مكتبة Mork؟

Mork هي مكتبة بايثون حديثة ومفتوحة المصدر صُممت لمهام التعرف الضوئي على العلامات (OMR). توفر Mork أساسًا قويًا ومرنًا يتيح لمطوري البرمجيات بناء ماسح نماذج للاختبارات الطلابية، ومعالجة الاستبيانات، أو إدارة جمع البيانات عبر مربعات الاختيار والفقاعات. تم تطويرها مع التركيز على البساطة والأداء، مما يمكّن المطورين من استخراج البيانات المعلَّمة من الأوراق الممسوحة بدقة عالية. مستضافة على GitHub، تدعم المكتبة سير عمل التعرف القائم على القوالب الذي يسمح بتعريف سهل لمربعات الإجابة والمناطق على النماذج المطبوعة. تجعلها بنية الموديلات، وقدرات معالجة الصور، ومناطق التعرف القابلة للتخصيص أداة قوية لكل من حلول OMR التعليمية والتجارية.

تم تصميم Mork لتكون بسيطة ولكن قوية. تدعم الكشف عالي الجودة لـ OMR من خلال تحليل الأوراق الممسوحة واكتشاف الفقاعات المملوءة، ومربعات الاختيار، والمناطق المعلَّمة الأخرى. يمكن للمطورين استخدامها لإنشاء سير عمل OMR كامل من البداية إلى النهاية — تصميم القوالب، معايرة محاذاة المسح، تحديد مناطق الإجابة، واستخراج ردود المستخدم بدقة. Mork مرخصة تحت رخصة MIT، مما يجعلها مجانية للاستخدام التجاري والشخصي. يتم تطويرها وصيانتها بنشاط من قبل مجتمع المصدر المفتوح. دعمها للقوالب المرنة، والكشف الدقيق، والتكامل السهل مع الأنظمة الأخرى يجعلها أداة ممتازة للمطورين في مجالات التعليم، والبحث، وجمع البيانات. ببضع أسطر من الشيفرة فقط، يمكنك أتمتة تحليل النماذج، والاختبارات، والاستبيانات — موفرًا ساعات لا تحصى من العمل اليدوي.

Previous Next

البدء مع Mork

الطريقة الموصى بها لتثبيت مكتبة Mork هي باستخدام Brew. يرجى استخدام الأمر التالي لتثبيت سلس

Install Mork Library via Brew

 brew install imagemagick  

Install Mork via GitHub

 git clone https://github.com/giuseb/mork.git 

You can download the library directly from GitHub

الكشف القائم على القوالب لـ OMR

تستخدم مكتبة Mork المفتوحة المصدر قوالب مبنية على JSON لتحديد تخطيط النماذج داخل تطبيقات Ruby. يصف كل قالب الموقع، الحجم، ونوع كل منطقة (مثل كتل الأسئلة أو مربعات الإجابة) على الورقة. هذا يجعل من السهل تكييف المحرك مع تصاميم مستندات مختلفة. يوضح المثال التالي كيفية تحقيق ذلك. يحدد JSON صندوق إجابة من صف واحد وأربع أعمدة يحمل التسمية "Q1". يمكنك وضع عدة كتل على صفحة لتمثيل أسئلة مختلفة.

How to Perform Template-Based OMR Operation via Ruby Library?

{
  "name": "simple_form",
  "page_width": 2480,
  "page_height": 3508,
  "elements": [
    {
      "type": "question_block",
      "name": "Q1",
      "x": 100,
      "y": 200,
      "width": 800,
      "height": 100,
      "rows": 1,
      "cols": 4
    }
  ]

معالجة الصور والكشف عبر Ruby

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

How to Perform Image Preprocessing inside Ruby Apps?

from mork import omr

# Initialize the OMR engine with your template
scanner = omr.OMR(template_path="templates/simple_form.json")

# Analyze a scanned image
results = scanner.scan("scans/test_sheet.jpg")

# Print extracted answers
print(results)

مرونة عالية وتخصيص

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

 عربي