彩票走势图

光学标记识别API-Aspose.OMR实操指南:在.NET应用程序中创建OMR工作表检查器或扫描仪软件

翻译|使用教程|编辑:李显亮|2020-08-26 10:30:50.463|阅读 349 次

概述:光学标记识别,缩写为OMR,通常用于评估问卷,调查和其他信息收集标准。因此,光学标记识别系统在科学研究或商业研究中起着重要作用。在本文中,让我们学习如何在.NET应用程序中使用C#语言创建和检查OMR问答纸。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

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

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

本文让我们学习如何在.NET应用程序中使用C#语言创建和检查OMR问答纸。我们将简要探讨以下方法:

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

点击下载Aspose.OMR

好消息来啦!整合所有格式API处理控件Aspose永久授权正在慧都网火热销售中,新购乐享85折起!立马1分钟了解全部咨询!


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

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

光学标记识别API-Aspose.OMR实操指南:在.NET应用程序中创建OMR工作表检查器或扫描仪软件

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

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

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

// initialize OMR engine
OmrEngine engine = new OmrEngine();

// call template generation providing path to the txt file with markup
GenerationResult res = engine.GenerateTemplate(Path.Combine(testFolderPath, "Grid.txt"));

// check in case of errors
if (res.ErrorCode != 0)
{
    Console.WriteLine("ERROR CODE: " + res.ErrorCode);
}

// you can use either of the following approaches
// save generation result: PDF and .omr template
res.SaveAsPdf(testFolderPath , "Grid");
// save generation result: image and .omr template
res.Save(testFolderPath, "Grid");

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

光学标记识别API-Aspose.OMR实操指南:在.NET应用程序中创建OMR工作表检查器或扫描仪软件

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

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

光学标记识别API-Aspose.OMR实操指南:在.NET应用程序中创建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 preparation
string testFolderPath = dataDir;
string templatePath = Path.Combine(testFolderPath, TemplateName);

// actual OMR API calls
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")); }

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

光学标记识别API-Aspose.OMR实操指南:在.NET应用程序中创建OMR工作表检查器或扫描仪软件

还想要更多吗?您可以点击阅读【2020 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP