您可以通过执行光学标记识别操作来识别图像上的特定标记。例如,您可以识别为问卷、调查或多项选择题形式的考试填写的气泡。有关详细信息,请参阅以下部分:
光学标记识别 - C# API 安装
您可以通过从 Downloads 部分下载 DLL 或通过 NuGet 库使用以下安装命令在 C# 应用程序中配置 Aspose.OMR for .NET API:
PM> Install-Package Aspose.OMR
在 C# 中使用 OMR 从 MemoryStream 中识别图像
有时图像存储在数据库或某些远程资源中,您可以将这些文件加载到 MemoryStream 中。同样,在许多情况下,将图像保存在磁盘上然后加载它进行处理可能是一种开销。因此,您可以方便地将图像加载到 Stream 中并对其执行 OMR 操作。以下是从 MemoryStream 识别图像的步骤:
- 获取要识别的模板。
- 初始化 OmrEngine 类对象。
- 使用 RecognizeImage 方法识别 MemoryStream 中的图像。
- 使用 RecognitionResult 类实例保存输出文件。
以下代码显示了如何在 C# 中使用 OMR 从 MemoryStream 中识别图像:
// 获取模板以识别
string templatePath = "Sheet.omr";
// 获取图像以识别
string imagePath = "Sheet1.JPG";
// 初始化 OmrEngine 类对象
OmrEngine engine = new OmrEngine();
// 设置识别模板
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
using (Image image = Image.FromFile(imagePath))
{
using (MemoryStream ms = new MemoryStream())
{
image.Save(ms, image.RawFormat);
ms.Flush();
// 识别图像
Aspose.OMR.Model.RecognitionResult result = templateProcessor.RecognizeImage(ms);
var stringRes = result.GetCsv();
File.WriteAllText(Path.GetFileNameWithoutExtension(imagePath) + ".csv", stringRes);
}
}
使用 C# 使用 OMR 批量处理图像以进行识别
您可以处理文件夹中的一批图像,并通过光学标记识别来识别标记。请按照以下步骤识别一批图像:
- 获取 OMR 模板进行识别。
- 使用 RecognizeFolder 方法获取所有图像的 RecognitionResult。
- 将输出保存为 CSV 文件。
下面的代码解释了如何使用 C# 以编程方式处理一批图像以进行光学标记识别:
// 获取模板以识别
string templatePath = "Sheet.omr";
// 获取文件夹包含用于识别的图像
string folderPath = "D:\images\";
OmrEngine engine = new OmrEngine();
// 设置识别模板
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
// 识别文件夹中的图像
Aspose.OMR.Model.RecognitionResult[] result = templateProcessor.RecognizeFolder(folderPath);
for (int i = 0; i < result.Length; i++)
{
var stringRes = result[i].GetCsv();
File.WriteAllText(folderPath + (i+1) + ".csv", stringRes);
}
获取免费 API 许可证
您可以通过请求 免费临时许可证 来不受任何限制地评估 API。
结论
在本文中,您学习了如何在 C# 中使用 OMR 从 MemoryStream 中识别图像。它还讨论了识别文件夹中的所有图像并将输出结果保存为 CSV、逗号分隔值、文件。此外,您可以通过访问 文档 了解 API 的其他功能。您可以随时通过 免费支持论坛 与我们联系,以解决您的任何问题。