OMR olarak kısaltılan Optik İşaret Tanıma, anketleri, anketleri ve diğer bilgi toplama standartlarını değerlendirmek için sıklıkla kullanılır. Bu makalede, bir .NET uygulamasında C# dilini kullanarak OMR soru ve balon cevap kağıtlarını nasıl oluşturacağınızı ve kontrol edeceğinizi öğrenebilirsiniz. Aşağıdaki yaklaşımları kısaca inceleyeceğiz:

OMR Template Creator and Checker API – Kurulum C# kullanarak OMR Soru Sayfası Şablonu, Görüntüsü ve PDF Dosyası Oluşturun C# kullanarak Çoktan Seçmeli Balonlu Cevap Kağıdı Görüntülerinde OMR gerçekleştirin

OMR Template Creator and Checker API – Kurulum

C# veya VB.NET uygulamalarında OMR şablonları oluşturmak ve OMR işlemlerini gerçekleştirmek için öncelikle Aspose.OMR for .NET API’yi kurmamız gerekiyor. New Releases adresinden veya aşağıdaki NuGet Komutu ile kolayca indirebilirsiniz:

Install-Package Aspose.OMR -Version 20.6.0

Bu nedenle, artık C# kullanarak API ile çoktan seçmeli soru sayfası kaynakları oluşturmaya devam etmeye hazırız:

C# kullanarak OMR Soru Sayfası Şablonu, Resim ve PDF Dosyası oluşturun

OMR soru sayfası kaynakları oluşturmayı keşfedelim. Burada örnek soruları, daha sonra OMR motoru tarafından OMR soru kağıdı şablonu, görüntüsü ve PDF dosyası oluşturmak için kullanılacak olan bir TXT dosyasında saklayacağız. Ayrıca, OMR motoru için girdi olarak kullanacağımız metin işaretlemesi aşağıdadır:

?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________________________________

Şimdi OMR Çoktan Seçmeli Soru Sayfasını oluşturmak için C# koduyla şu adımları izleyeceğiz:

  1. OMR motorunu başlatın
  2. Metin biçimlendirme ile GenerateTemplate yöntemini çağırın
  3. OMR çıktı soru sayfasını kaydet

Aşağıdaki kod parçacığı, C# kullanarak OMR soru sayfası şablonu, görüntüsü ve PDF dosyasının nasıl oluşturulacağını gösteren şu adımlara dayanmaktadır:

// OMR motorunu başlat
OmrEngine engine = new OmrEngine();

// işaretleme ile txt dosyasına yol sağlayan çağrı şablonu oluşturma
GenerationResult res = engine.GenerateTemplate(Path.Combine(testFolderPath, "Grid.txt"));

// hata durumunda kontrol edin
if (res.ErrorCode != 0)
{
    Console.WriteLine("ERROR CODE: " + res.ErrorCode);
}

// aşağıdaki yaklaşımlardan birini kullanabilirsiniz
// oluşturma sonucunu kaydet: PDF ve .omr şablonu
res.SaveAsPdf(testFolderPath , "Grid");
// oluşturma sonucunu kaydet: resim ve .omr şablonu
res.Save(testFolderPath, "Grid");

Bu nedenle, aşağıdaki ekran görüntüsünde gösterildiği gibi OMR soru kağıdını oluşturduk. Oluşturulan PDF dosyasını veya görseli ihtiyaçlarınıza göre yazdırarak bildiri dağıtabilirsiniz.

OMR şablonu

C# kullanarak Çoktan Seçmeli Balon Cevap Kağıdı Görüntülerinde OMR gerçekleştirin

Son olarak, oluşturulan kabarcık cevap kağıtlarındaki yanıtları toplar ve ardından görüntüleri yakalar veya C# kullanarak OMR gerçekleştirmek için bunları tararsınız. Bu örnekte, aşağıdaki örnek görüntüyü ele alalım. Aspose.OMR for .NET API, OMR gerçekleştirmenin çıktısı olarak virgülle ayrılmış (CSV) bir dosya oluşturacaktır.

omr oluştur

C# kullanarak OMR gerçekleştirmek için şu adımları izleyelim:

  1. Şablon dosyası yolunu belirtin
  2. Taranan görüntü dosyası yolunu belirtin
  3. TemplateProcessor‘ı başlat
  4. RecognizeImage yöntemiyle görüntüleri tanıma
  5. CSV çıktısını TXT dosyasına yaz

Aşağıdaki kod parçacığı, C# dilinde çoktan seçmeli baloncuklu cevap sayfası görüntülerinde OMR’nin nasıl gerçekleştirileceğini gösterir:

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

// giriş ve çıkış hazırlığı
string testFolderPath = dataDir;
string templatePath = Path.Combine(testFolderPath, TemplateName);

// gerçek OMR API çağrıları
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"));
}

Aşağıdaki ekran görüntüsü, çıktı CSV dosyasının Aspose.OMR for .NET API ile ne kadar verimli ve doğru bir şekilde üretildiğini göstermektedir. Bu CSV bilgisi artık sistem tasarımınıza göre daha fazla işlenebilir.

omr gerçekleştirmek

Çözüm

Özetle, soru kağıtlarını nasıl oluşturacağımızı ve daha sonra C# kullanarak kabarcık cevap kağıdı resimlerini işaretlemek için OMR işlemlerini gerçekleştirmeyi öğrendik. Bu OMR sayfaları oluşturma ve ardından görüntüler üzerinde OMR işlemleri gerçekleştirme, farklı araştırma yöntemlerinde çok yardımcı olur. Ayrıca, herhangi bir endişeniz veya sorunuz olması durumunda Ücretsiz Destek Forumları aracılığıyla bize ulaşabilirsiniz.

Ayrıca bakınız