彩票走势图

借助光学控件Aspose.OMR,使用条形码创建并读取 OMR 表

原创|行业资讯|编辑:胡涛|2023-11-13 10:21:14.370|阅读 14 次

概述:在本文中,我们学习了如何在 C# 中创建和读取带有条形码的 OMR 表,欢迎查阅~

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

相关链接:

光学标记识别(OMR)是一种可用于从标记形式的图像中读取和提取数据的技术。OMR 通常用于标准化测试、调查和投票,但它也可用于各种其他应用,例如对学生作业进行评分和跟踪库存。在这篇博文中,我们将向您展示如何使用 C# 创建和读取带有条形码的 OMR 表。

Aspose.OMR for .NET 是一种光学标记识别API,可从多种图像格式(包括JPG,BMP,GIF,TIF,TIFF)中识别光学标记。对这些图像执行OMR操作后,API会将输出保存为CSV格式。此外,OMR阅读器API允许从不同来源的文档中捕获带有人类标记的数据。API可以高精度识别来自所有这些来源的扫描图像甚至照片。

Aspose.OMR 最新下载

(一) 使用条形码创建和读取 OMR - C# API

我们将使用Aspose.OMR for .NET API在 C# 中创建和读取带有条形码的 OMR 表。它允许开发人员快速轻松地设计、呈现和识别 .NET 应用程序中的手填答题表、调查、应用程序和类似表单。

请下载API的安装。

PM> Install-Package Aspose.OMR

(二) 在 C# 中创建带条形码的 OMR 表

我们可以按照以下步骤使用简单的文本标记轻松创建 OMR 模板 (.omr) 文件和工作表图像:

  1. 创建OmrEngine类的实例。
  2. 之后,通过以文本文件路径作为参数调用GenerateTemplate()方法来获取GenerationResult对象。
  3. 最后调用Save()方法将生成的图片和.omr模板文件保存到本地磁盘。

以下代码示例展示了如何使用 C# 创建带有条形码的 OMR 表

// Input and output files directory
string dataDir = "C:\\Files\\";

// Initialize engine
OmrEngine engine = new OmrEngine();

GenerationResult res = engine.GenerateTemplate(Path.Combine(dataDir, "OMRTestWithBarcode.txt"));

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

// Save generation result: image and .omr template
res.Save(dataDir, "OMRTestWithBarcode");

在 C# 中创建带条形码的 OMR 表

您可以进一步检查以下用于创建 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________________________________


请在此处。

(三)用 C# 读取带条形码的 OMR 表

我们可以对带有条形码的 OMR 表的填充扫描图像执行 OMR 操作,并将数据提取到 CSV 文件中。为此,我们需要准备好的 OMR 模板 (.omr) 和图像(用户填写的表格/工作表)。请按照以下步骤读取带有条形码的 OMR 表并提取 CSV 格式的数据。

  1. 创建OmrEngine类的实例。
  2. 调用GetTemplateProcessor()方法并初始化TemplateProcessor类对象。它将 OMR 模板文件路径作为参数。
  3. 通过以图像路径作为参数调用Recognize()方法来获取RecognitionResult对象。
  4. 之后,使用GetCsv()方法获取 CSV 字符串形式的识别结果。
  5. 最后,将CSV结果保存为本地磁盘上的CSV文件。

以下代码示例展示了如何使用 C# 从带有条形码的 OMR 表中读取和提取数据

// This code example demonstrates how to perform OMR on an image and extract data
// OMR Template file path
string TemplateName = @"OMRTestWithBarcode.omr";
string UserImage = @"OMRTestWithBarcode.png";

// Input and output files path
string dataDir = "C:\\Files\\";
string templatePath = Path.Combine(dataDir, TemplateName);

// Initialize OMR Engine
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");

// Get results in CSV
string imagePath = Path.Combine(dataDir, UserImage);
string csvResult = templateProcessor.Recognize(imagePath).GetCsv();

// Save CSV file
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);


用 C# 读取带条形码的 OMR 表

在本文中,我们学习了如何在 C# 中创建和读取带有条形码的 OMR 表。我们还了解了如何提取 OMR 数据并将其保存为 CSV 格式。通过遵循本文中概述的步骤,您可以利用 Aspose.OMR 并开发您自己的 OMR 应用程序。如有任何疑问,请随时通我们联系。


欢迎下载|体验更多Aspose产品 

获取更多信息请咨询 或 加入Aspose技术交流群(761297826

标签:

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


为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP