个人中心

联系我们

搜索
搜索 登录 免费注册
界面美化
业务优化
开发工具
图像管理
文档管理
Parasoft

新闻资讯

关注工具软件产品最新动态,了解软件开发行业新趋势。

Aspose 使用教程:在 C# 中使用条形码创建和读取 OMR 纸张

原创
软件开发
来源:Aspose
Aspose
条形码
C#
光学标记
光学识别组件
识别组件
API
2024-01-18
Aspose
条形码
C#
光学标记
光学识别组件
识别组件
API


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


本文涵盖以下主题:


  • 使用条形码创建和读取 OMR - C# API

  • 使用条码创建 OMR 纸张

  • 使用条码读取 OMR 纸张



使用条码创建和读取 OMR - C# API

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


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


PM> Install-Package Aspose.OMR


在 C# 中使用条形码创建 OMR 工作表

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


创建 OmrEngine 类的实例。

然后,以文本文件路径为参数调用 GenerateTemplate() 方法,获取 GenerationResult 对象。

最后,调用 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");



您可以进一步查看以下用于创建 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 中的数据。


创建 OmrEngine 类实例。

调用 GetTemplateProcessor() 方法并初始化 TemplateProcessor 类对象。它将 OMR 模板文件路径作为参数。

以图像路径为参数,调用 Recognize() 方法获取 RecognitionResult 对象。

然后,使用 GetCsv() 方法将识别结果提取为 CSV 字符串。

最后,将 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);



获取免费许可证

您可以获得免费的临时许可证,在没有评估限制的情况下试用程序库。


Aspose.OMR for .NET - 学习资源

除了从图像中提取 OMR 数据外,您还可以使用以下资源了解有关 Aspose.OMR 的更多信息并探索该库的其他功能:


开发人员指南

免费在线应用程序

API 参考

使用指南和文章

结论

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


联系我们

周一至周日 8:00-23:00

免费热线

023-62585653

张经理:13082556879

罗经理:17558866126

许经理:13057566525

开发外包

ERP-一体化

小程序

企业微信客服

版权所有:重庆庚乾信息科技有限公司 ©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508

版权所有:重庆庚乾信息科技有限公司

©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508