كثيرًا ما يستخدم التعرف البصري على العلامة ، والمختصر بـ OMR ، لتقييم الاستبيانات والاستطلاعات ومعايير جمع المعلومات الأخرى. في هذه المقالة ، يمكنك التعرف على كيفية إنشاء وفحص أوراق الإجابة الخاصة بسؤال OMR وفقاعة باستخدام لغة C# في تطبيق .NET. سوف نستكشف الطرق التالية بإيجاز:

OMR Template Creator and Checker API - التثبيت إنشاء نموذج ورقة أسئلة OMR ، وصورة ، وملف PDF باستخدام C# [أداء OMR على صور ورقة الإجابة ذات الفقاعة المتعددة الاختيارات باستخدام C#](# section3)

OMR Template Creator and Checker API - التثبيت

لإنشاء قوالب OMR وتنفيذ عمليات OMR في تطبيقات C# أو VB.NET ، نحتاج أولاً إلى تثبيت Aspose.OMR لـ .NET API. يمكنك تنزيله بسهولة من الإصدارات الجديدة أو باستخدام الأمر NuGet التالي:

Install-Package Aspose.OMR -Version 20.6.0

لذلك ، نحن الآن جاهزون للمضي قدمًا لإنشاء موارد ورقة أسئلة الاختيار من متعدد باستخدام واجهة برمجة التطبيقات باستخدام C#:

قم بإنشاء قالب ورقة أسئلة OMR ، وصورة ، وملف PDF باستخدام C#

دعنا نستكشف إنشاء موارد ورقة أسئلة OMR. سنقوم هنا بتخزين نماذج من الأسئلة في ملف TXT والذي سيتم استخدامه لاحقًا بواسطة محرك OMR لإنشاء قالب ورقي لسؤال OMR وصورة وملف PDF. علاوة على ذلك ، فيما يلي ترميز النص الذي سنستخدمه كمدخل لمحرك OMR:

?text=Name__________________________________ Date____________

?grid=ID
	sections_count=8
#What is Aspose.OMR main function?
	() OCR() Capture human-marked data
	() There is no main function() Enhance images
#Can Aspose.OMR process not only scans, but also photos?
	() Yes, indeed!() No
#Aspose.OMR is available on any platform, because it is:
	() Cross-platform code() Cloud service
#Aspose.OMR works with any kind of OMR forms: tests, exams, questionnaires, surveys, etc.
	() Yes, indeed!() No
#Excellent recognition results can be achieved only for filled bubbles at least for:
	() 40%() 60%() 75%() 98%
#Do you have to mark up every question on the page?
	(Yes) Yes, that will help a lot! (No) No
#Rate your preference from 0 to 9 with "0" being preference towards performance
and "9" being preference towards flexibility.
	(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)
#I found aspose omr to be a useful tool. (5 - strongly agree, 1 - strongly disagree)
	(5) (4) (3) (2) (1)

?text= Answer sheet section
?answer_sheet=MainQuestions
	elements_count=10
	columns_count=5

?text=Sign________________________________

الآن سوف نتبع هذه الخطوات مع كود C# لإنشاء ورقة أسئلة الاختيار من متعدد العموم:

  1. تهيئة محرك OMR
  2. استدعاء طريقة GenerateTemplate مع ترميز النص
  3. حفظ ورقة أسئلة الإخراج OMR

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

// تهيئة محرك OMR
OmrEngine engine = new OmrEngine();

// يوفر إنشاء قالب الاستدعاء مسارًا لملف النص مع الترميز
GenerationResult res = engine.GenerateTemplate(Path.Combine(testFolderPath, "Grid.txt"));

// تحقق في حالة وجود أخطاء
if (res.ErrorCode != 0)
{
    Console.WriteLine("ERROR CODE: " + res.ErrorCode);
}

// يمكنك استخدام أي من الطرق التالية
// حفظ نتيجة التوليد: قالب PDF و .omr
res.SaveAsPdf(testFolderPath , "Grid");
// حفظ نتيجة التوليد: صورة ونموذج عمر
res.Save(testFolderPath, "Grid");

لذلك قمنا بإنشاء ورقة أسئلة OMR كما هو موضح في لقطة الشاشة التالية. يمكنك توزيع الأوراق عن طريق طباعة ملف أو صورة PDF التي تم إنشاؤها وفقًا لمتطلباتك.

نموذج ريال عماني

قم بإجراء ريال عماني على صور ورقة الإجابة ذات الفقاعة متعددة الاختيارات باستخدام C#

أخيرًا ، يمكنك جمع الردود على أوراق إجابة فقاعية تم إنشاؤها ثم التقاط الصور أو مسحها ضوئيًا لأداء OMR باستخدام C#. في هذا المثال ، دعونا ننظر في الصورة النموذجية التالية. سيقوم Aspose.OMR for .NET API بإنشاء ملف مفصول بفواصل (CSV) كناتج لأداء OMR.

خلق عمر

دعنا نتبع هذه الخطوات لأداء OMR باستخدام C#:

  1. حدد مسار ملف القالب
  2. حدد مسار ملف الصورة الممسوحة ضوئيًا
  3. تهيئة TemplateProcessor
  4. التعرف على الصور باستخدام طريقة RecognizeImage
  5. اكتب إخراج CSV في ملف TXT

يوضح مقتطف الشفرة أدناه كيفية أداء OMR على صور ورقة إجابة فقاعية متعددة الخيارات في C#:

string TemplateName = @"Sheet.omr";
string[] UserImages = new string[] { "Sheet1.jpg" };

// إعداد المدخلات والمخرجات
string testFolderPath = dataDir;
string templatePath = Path.Combine(testFolderPath, TemplateName);

// مكالمات OMR API الفعلية
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");

for (int i = 0; i < UserImages.Length; i++)
{
    string imagePath = Path.Combine(testFolderPath, UserImages[i]);
    string csvResult = templateProcessor.RecognizeImage(imagePath).GetCsv();

    File.WriteAllText(Path.Combine(outputPath, Path.GetFileNameWithoutExtension(UserImages[i]) + ".csv"), csvResult);
    Console.WriteLine("Result exported. Path: " + Path.Combine(testFolderPath, Path.GetFileNameWithoutExtension(UserImages[i]) + ".csv"));
}

توضح لقطة الشاشة التالية مدى كفاءة ودقة إنشاء ملف CSV الناتج باستخدام Aspose.OMR لـ .NET API. يمكن الآن معالجة معلومات CSV هذه وفقًا لتصميم نظامك.

أداء عمر

استنتاج

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

أنظر أيضا