您可以通过执行光学标记识别操作来识别图像上的特定标记。例如,您可以识别为问卷、调查或多项选择题形式的考试填写的气泡。有关详细信息,请参阅以下部分:

光学标记识别 - C# API 安装

您可以通过从 Downloads 部分下载 DLL 或通过 NuGet 库使用以下安装命令在 C# 应用程序中配置 Aspose.OMR for .NET API:

PM> Install-Package Aspose.OMR

在 C# 中使用 OMR 从 MemoryStream 中识别图像

有时图像存储在数据库或某些远程资源中,您可以将这些文件加载到 MemoryStream 中。同样,在许多情况下,将图像保存在磁盘上然后加载它进行处理可能是一种开销。因此,您可以方便地将图像加载到 Stream 中并对其执行 OMR 操作。以下是从 MemoryStream 识别图像的步骤:

  1. 获取要识别的模板。
  2. 初始化 OmrEngine 类对象。
  3. 使用 RecognizeImage 方法识别 MemoryStream 中的图像。
  4. 使用 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 批量处理图像以进行识别

您可以处理文件夹中的一批图像,并通过光学标记识别来识别标记。请按照以下步骤识别一批图像:

  1. 获取 OMR 模板进行识别。
  2. 使用 RecognizeFolder 方法获取所有图像的 RecognitionResult
  3. 将输出保存为 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 的其他功能。您可以随时通过 免费支持论坛 与我们联系,以解决您的任何问题。

也可以看看