示例:教你在.NET应用程序中创建OMR工作表扫描仪软件

Aspose.OMR是一种光学标记识别API,用于识别各种类型的答题纸,包括测试,评估,调查,测验,MCQ论文,反馈表格-包括气泡作为输入的任何类型的文档。API支持创建和读取OMR表单,并以流行的图像格式处理照片和扫描,并提供各种格式的输出。

光学标记识别,缩写为OMR,通常用于评估问卷,调查和其他信息收集标准。因此,光学标记识别系统在科学研究或商业研究中起着重要作用。

  • 使用C#创建OMR问题表模板,图像和PDF文件
  • 使用C#对多选气泡答题纸图像执行OMR

  • 使用C#创建OMR问题表模板,图像和PDF文件

    在这里,我们将样本问题存储在TXT文件中,稍后OMR引擎将使用它们来创建OMR问题纸模板,图像和PDF文件。此外,以下是我们将用作OMR引擎输入的文本标记:

    现在,我们将使用C#代码按照以下步骤创建OMR多选题表:

    1. 初始化OMR引擎
    2. 使用文本标记调用GenerateTemplate方法
    3. 保存OMR输出问题表

    以下代码段基于这些步骤,这些步骤显示了如何使用C#创建OMR问题表模板,图像和PDF文件:

    // initialize OMR engineOmrEngine engine = new OmrEngine();// call template generation providing path to the txt file with markupGenerationResult res = engine.GenerateTemplate(Path.Combine(testFolderPath, "Grid.txt"));// check in case of errorsif (res.ErrorCode != 0){    Console.WriteLine("ERROR CODE: " + res.ErrorCode);}// you can use either of the following approaches// save generation result: PDF and .omr templateres.SaveAsPdf(testFolderPath , "Grid");// save generation result: image and .omr templateres.Save(testFolderPath, "Grid");

    因此,我们已经创建了OMR试卷,如下截图所示。您可以通过打印生成的PDF文件或图像按您的要求分发文件。

    使用C#对多项选择题气泡答题纸图像执行OMR

    最后,您将在生成的气泡答题纸上收集响应,然后捕获图像,或扫描它们以使用C#执行OMR。在此示例中,让我们考虑以下示例图像。用于.NET API的Aspose.OMR将创建一个逗 分隔(CSV)文件作为执行OMR的输出。

    让我们按照以下步骤使用C#执行OMR:

    1. 指定模板文件路径
    2. 指定扫描的图像文件路径
    3. 初始化TemplateProcessor
    4. 使用RecognizeImage方法识别图像
    5. 将CSV输出写入TXT文件

    下面的代码段显示了如何在C#中的多选气泡答题纸图像上执行OMR:

    string TemplateName = @"Sheet.omr";string[] UserImages = new string[] { "Sheet1.jpg" };// input and output preparationstring testFolderPath = dataDir;string templatePath = Path.Combine(testFolderPath, TemplateName);// actual OMR API callsOmrEngine 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")); }

    以下屏幕截图显示了使用Aspose.OMR for .NET API生成输出CSV文件的效率和准确性。现在可以根据系统设计进一步处理此CSV信息。


    如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2020年7月23日
    下一篇 2020年7月23日

    相关推荐