您可以通過執行光學標記識別操作來識別圖像上的特定標記。例如,您可以識別為問卷、調查或多項選擇題形式的考試填充的氣泡。有關詳細信息,請參閱以下部分:
光學標記識別——C# API 安裝
您可以在 C# 應用程序中配置 Aspose.OMR for .NET API,方法是從 下載 部分下載 DLL,或通過 NuGet 庫使用以下安裝命令:
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 的其他功能。如果您有任何疑慮,可以隨時通過 免費支持論壇 與我們聯繫。