Optical Mark Recognition که به اختصار OMR نامیده می شود، اغلب برای ارزیابی پرسشنامه ها، نظرسنجی ها و سایر استانداردهای جمع آوری اطلاعات استفاده می شود. در این مقاله می توانید نحوه ایجاد و بررسی سوالات OMR و پاسخ برگه های حبابی را با استفاده از زبان سی شارپ در اپلیکیشن دات نت بیاموزید. رویکردهای زیر را به اختصار بررسی خواهیم کرد:

AMR Template Creator and Checker API – Installation با استفاده از سی شارپ، قالب، تصویر و فایل پی‌دی‌اف پرسشنامه OMR را ایجاد کنید انجام OMR روی تصاویر برگه پاسخ حباب چند گزینه ای با استفاده از C#

OMR Template Creator and Checker API – نصب

برای ایجاد قالب‌های OMR و انجام عملیات OMR در برنامه‌های C# یا VB.NET، ابتدا باید Aspose.OMR را برای NET API نصب کنیم. شما به راحتی می توانید آن را از New Releases یا با دستور زیر NuGet دانلود کنید:

Install-Package Aspose.OMR -Version 20.6.0

بنابراین، اکنون آماده هستیم تا برای ایجاد منابع برگه سوالات چند گزینه ای با API با استفاده از C# ادامه دهیم:

با استفاده از سی شارپ، قالب، تصویر و فایل پی‌دی‌اف پرسشنامه OMR ایجاد کنید.

اجازه دهید ایجاد منابع برگه سوال 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________________________________

اکنون ما این مراحل را با کد سی شارپ دنبال می کنیم تا برگه سوالات چند گزینه ای OMR ایجاد کنیم:

  1. راه اندازی موتور OMR
  2. روش GenerateTemplate را با نشانه گذاری متن فراخوانی کنید
  3. برگه سوال خروجی OMR را ذخیره کنید

قطعه کد زیر بر اساس این مراحل است که نحوه ایجاد قالب برگه سؤال OMR، تصویر و فایل PDF را با استفاده از C# نشان می دهد:

// موتور OMR را راه اندازی کنید
OmrEngine engine = new OmrEngine();

// تولید الگوی فراخوانی مسیر فایل txt را با نشانه گذاری فراهم می کند
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");
// ذخیره نتیجه تولید: تصویر و قالب .omr
res.Save(testFolderPath, "Grid");

بنابراین ما برگه سوال OMR را همانطور که در تصویر زیر نشان داده شده است ایجاد کرده ایم. شما می توانید با چاپ فایل پی دی اف یا تصویر تولید شده مطابق با نیاز خود، مقالات را توزیع کنید.

قالب OMR

انجام OMR روی تصاویر برگه پاسخ حباب چند گزینه ای با استفاده از سی شارپ

در نهایت، پاسخ‌ها را در برگه‌های پاسخ حباب ایجاد شده جمع‌آوری می‌کنید و سپس تصاویر را می‌گیرید، یا آنها را برای انجام OMR با استفاده از C# اسکن می‌کنید. در این مثال، اجازه دهید تصویر نمونه زیر را در نظر بگیریم. Aspose.OMR for .NET API یک فایل جدا شده با کاما (CSV) را به عنوان خروجی اجرای OMR ایجاد می کند.

omr را ایجاد کنید

اجازه دهید این مراحل را برای انجام OMR با استفاده از C# دنبال کنیم:

  1. مسیر فایل قالب را مشخص کنید
  2. مسیر فایل تصویر اسکن شده را مشخص کنید
  3. مقداردهی اولیه TemplateProcessor
  4. با روش RecognizeImage تصاویر را تشخیص دهید
  5. خروجی CSV را در فایل TXT بنویسید

قطعه کد زیر نحوه اجرای OMR را بر روی تصاویر برگه پاسخ حباب چند گزینه ای در سی شارپ نشان می دهد:

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 روی تصاویر در روش های مختلف تحقیق بسیار مفید است. علاوه بر این، در صورت هر گونه نگرانی یا سؤال، می توانید از طریق [تالارهای پشتیبانی رایگان] با ما تماس بگیرید.

همچنین ببینید