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

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

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

Aspose.OMR 最新下载(qun:761297826)icon-default.png?t=N7T8https://www.evget.com/product/4196/download

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

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

请下载API的DLL或使用NuGet安装。

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________________________________

请在此处下载生成的 OMR 模板

(三)用 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 应用程序。如有任何疑问,请随时通我们联系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值