تشخیص علامت نوری (OMR) یک فناوری است که می تواند برای خواندن و استخراج داده ها از تصاویر فرم های علامت گذاری شده استفاده شود. OMR معمولاً در آزمونهای استاندارد، نظرسنجیها و برگههای رأی استفاده میشود، اما میتوان از آن در کاربردهای مختلف دیگری مانند درجهبندی کار دانشآموز و ردیابی موجودی استفاده کرد. در این پست وبلاگ، نحوه ایجاد و خواندن یک برگه OMR با بارکد در سی شارپ را به شما نشان خواهیم داد.
این مقاله موضوعات زیر را پوشش می دهد:
- ایجاد و خواندن OMR با بارکد - C# API
- ایجاد برگه OMR با بارکد
- برگ OMR را با بارکد بخوانید
- منابع آموزشی رایگان
ایجاد و خواندن OMR با بارکد - C# API
ما از Aspose.OMR for .NET API برای ایجاد و خواندن برگه OMR با بارکد در C# استفاده خواهیم کرد. این به توسعه دهندگان اجازه می دهد تا به سرعت و به راحتی پاسخ نامه ها، نظرسنجی ها، برنامه ها و فرم های مشابه را در برنامه های دات نت طراحی، رندر و تشخیص دهند.
لطفاً DLL API را دانلود کنید یا با استفاده از NuGet آن را نصب کنید.
PM> Install-Package Aspose.OMR
ایجاد برگه OMR با بارکد در سی شارپ
با دنبال کردن مراحل زیر به راحتی میتوانیم فایل و تصویر برگه قالب OMR (.omr) را با استفاده از نشانهگذاری متن ساده ایجاد کنیم:
- یک نمونه از کلاس OmrEngine ایجاد کنید.
- پس از آن، با فراخوانی متد GenerateTemplate() با مسیر فایل متنی به عنوان آرگومان، شی GenerationResult را دریافت کنید.
- در نهایت متد Save() را فراخوانی کنید تا تصویر تولید شده و فایل قالب .omr روی دیسک محلی ذخیره شود.
نمونه کد زیر نحوه ایجاد یک برگه OMR با بارکد با استفاده از C# را نشان می دهد.
// دایرکتوری فایل های ورودی و خروجی
string dataDir = "C:\\Files\\";
// موتور را اولیه کنید
OmrEngine engine = new OmrEngine();
GenerationResult res = engine.GenerateTemplate(Path.Combine(dataDir, "OMRTestWithBarcode.txt"));
// در صورت وجود خطا بررسی کنید
if (res.ErrorCode != 0)
{
Console.WriteLine("ERROR: " + res.ErrorCode + ": " + res.ErrorMessage);
}
// ذخیره نتیجه تولید: تصویر و الگوی .omr
res.Save(dataDir, "OMRTestWithBarcode");
همچنین میتوانید نشانهگذاری متن ساده زیر را که برای ایجاد الگوی OMR استفاده میشود، بررسی کنید:
?barcode=AsposeWebsite
value=aspose.com
barcode_type=qr
qr_version=1
x=1900
y=250
height=360
?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
?text= Answer sheet section
?answer_sheet=MainQuestions
elements_count=12
columns_count=4
?text=Sign________________________________
لطفا [قالب OMR تولید شده] را از اینجا دانلود کنید.
خواندن برگه OMR با بارکد در سی شارپ
ما می توانیم عملیات OMR را روی یک تصویر اسکن شده پر شده از یک صفحه OMR با بارکد انجام دهیم و داده ها را در یک فایل CSV استخراج کنیم. برای این منظور به قالب OMR آماده شده (.omr) و تصویر (فرم ها/برگ های پر شده توسط کاربر) نیاز داریم. لطفاً برای خواندن برگه OMR با بارکد و استخراج داده ها در CSV مراحل زیر را دنبال کنید.
- یک نمونه از کلاس OmrEngine ایجاد کنید.
- متد GetTemplateProcessor() را فراخوانی کنید و شی کلاس TemplateProcessor را مقداردهی اولیه کنید. مسیر فایل قالب OMR را به عنوان آرگومان می گیرد.
- با فراخوانی متد Recognize() با مسیر تصویر به عنوان آرگومان، شی RecognitionResult را دریافت کنید.
- پس از آن، با استفاده از متد GetCsv() نتایج شناسایی را به عنوان رشته های CSV دریافت کنید.
- در نهایت، نتیجه CSV را به عنوان یک فایل CSV در دیسک محلی ذخیره کنید.
نمونه کد زیر نحوه خواندن و استخراج داده ها از یک برگه OMR با بارکد در سی شارپ را نشان می دهد.
// این مثال کد نحوه انجام OMR را روی یک تصویر و استخراج داده ها نشان می دهد
// مسیر فایل قالب OMR
string TemplateName = @"OMRTestWithBarcode.omr";
string UserImage = @"OMRTestWithBarcode.png";
// مسیر فایل های ورودی و خروجی
string dataDir = "C:\\Files\\";
string templatePath = Path.Combine(dataDir, TemplateName);
// موتور OMR را راه اندازی کنید
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");
// نتایج را در CSV دریافت کنید
string imagePath = Path.Combine(dataDir, UserImage);
string csvResult = templateProcessor.Recognize(imagePath).GetCsv();
// فایل CSV را ذخیره کنید
File.WriteAllText(Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"), csvResult);
Console.WriteLine("Result exported. Path: " + Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"));
Console.WriteLine(csvResult);
مجوز رایگان دریافت کنید
میتوانید یک مجوز موقت رایگان دریافت کنید تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.
Aspose.OMR for .NET – منابع یادگیری
علاوه بر استخراج دادههای OMR از تصاویر، میتوانید درباره Aspose.OMR اطلاعات بیشتری کسب کنید و سایر ویژگیهای کتابخانه را با استفاده از منابع زیر کشف کنید:
نتیجه
در این مقاله نحوه ایجاد و خواندن برگه OMR با بارکد در سی شارپ را یاد گرفتیم. ما همچنین نحوه استخراج و ذخیره داده های OMR را در قالب CSV دیده ایم. با دنبال کردن مراحل ذکر شده در این مقاله، می توانید از Aspose.OMR استفاده کنید و برنامه های کاربردی OMR خود را توسعه دهید. در صورت وجود هرگونه ابهام، لطفاً با ما در تالار گفتمان پشتیبانی رایگان تماس بگیرید.