為什麼適用於 C++ 的 Aspose.OMR?

建立和識別任何佈局和複雜性的 OMR 表格。有了我們的圖書館,您不再需要手動檢查和評分測試、試卷、調查、申請表和其他手動填寫的統一文件。我們將為您做一切並返回可自動分析或匯入您選擇的資料庫、成績冊或 CRM 系統中的結果。點擊下面的項目以了解有關我們的功能和優勢的更多資訊。

Illustration omr

無需硬體

使用噴墨或雷射印表機、掃描器、影印機甚至智慧型手機相機來取代專門的 OMR 硬體。

全面客製化

透過新增受訪者資訊、唯一識別碼、標誌、圖像等來個人化 OMR 表單。

可靠的結果

精確的光學標記偵測演算法加上精細辨識能力,可確保 100% 準確的結果。

一體

Aspose.OMR for C++ 既可以設計表單設計,又可以辨識其填入的副本。

開發者友善

即使是新手開發人員也可以輕鬆使用我們的 API。建立基本的 OMR 應用程式僅需要 10 行程式碼。

即時程式碼範例

印刷的答案是任何筆試、評估或課堂評估的重要組成部分。這個簡單的線上應用程式產生一個 4 列的氣泡表,並說明了使用 Aspose.OMR for C++ 在您的電腦上實現它所需的程式碼。

問題數量

 

每個問題的氣泡數

複製並貼上此程式碼

更多範例 >
// Initialize Aspose.OMR engine
System::SharedPtr<Api::OmrEngine> engine = System::MakeObject<Api::OmrEngine>();
// Generate machine-readable form from the markup
System::SharedPtr<Generation::GenerationResult> result
     = engine->GenerateTemplate(u"template.txt");
// Save printable OMR form to an image file
result.Save("target", "omr-form");

平台獨立性

Aspose.OMR for C++ 是一個獨立的軟體包,不需要專門的硬體或第三方軟體。您可以在任何支援 C++ 程式碼的環境中開發應用程式。

Microsoft Windows
Linux
Docker

支援的文件格式

Aspose.OMR for C++ 幾乎可以處理任何 文件 您可以透過掃描器或相機取得。識別結果以最受歡迎的資料交換格式返回,可以匯入到任何流行的資料庫或分析系統中。

建構表單

  • TXT
  • JPEG, PNG, BMP

掃描表格

  • Scans: JPEG, PNG, BMP
  • Photos: JPEG, PNG

辨識表格

  • CSV
  • JSON

無限可能

光學標記識別技術為生活中需要手動資料收集和分析的不同方面提供了簡單的解決方案。它完全自動化了繁瑣且容易出錯的手動表單識別,每分鐘可處理數百張紙,準確率幾乎為 100%。結果可以即時分析或儲存在資料庫中以供後續匯總和分析。

應用範圍廣泛,包括但不限於:

  • **教育:**答案紙、測驗、測驗、考試表格。
  • 政府: 選票、納稅表格、邊境入境表格、人口普查、公眾意見。
  • 醫學: 檢查、評估、病人資訊表、健康保險索賠。
  • **金融:**貸款申請、客戶資料更新、信用卡申請。
  • 還有很多…

無需任何設備

複雜的影像預處理和分析演算法消除了對專用 OMR 硬體和專用配件的需求。您可以使用普通鋼筆、鉛筆或記號筆填寫表格,並使用普通辦公室影印機甚至智慧型手機相機(而不是專用掃描器)掃描它們,而不會影響識別準確性。我們的程式庫使您能夠以顯著降低的成本開發具有硬體產品可靠性的 OMR 軟體解決方案。請隨意使用任何可用的設備:

  • 自動進紙掃描器;
  • 預算辦公室影印機;
  • 雷射或噴墨印表機;
  • 便攜式手持式掃描器;
  • 輕便型或單眼相機;
  • 智慧型手機;
  • 自動對焦網路攝影機。

無需設計工具即可編寫 OMR 表單

Aspose.OMR for C++ 提供了高度通用的工具,用於設計具有任何佈局和複雜程度的機器可讀表單。不需要外部編輯器或設計工具。透過高度適應性的 標記語言 ,使用者可以以任何所需的方式組合大量的佈局和內容元素。

如果您沒有時間熟悉模板標記語法,請不用擔心。您可以使用 線上表單設計工具 從任何平台或裝置以互動方式輕鬆建立自訂 OMR 表單。您可以添加任意數量的元素,根據您的特定需求調整它們的大小和位置。

Alumni questionnaire Customer satisfaction survey SAT form

可以透過新增文字、受訪者姓名、唯一識別碼和圖像來進一步定製表格。您也可以透過新增商標、口號等來為 OMR 表格打造品牌。嘗試佈局、問題格式和答案結構,同時確保標記辨識的準確性一致。享受創意設計過程,告別複雜的設計過程,採用簡單的形式創作方法。

查看程式碼範例並根據您的需求進行調整。

特性和功能

Aspose.OMR for C++ 是一種易於使用、多功能且經濟高效的 API,用於設計、呈現和識別手填答題紙、調查、應用程式和類似表格。

Feature icon

所有紙張尺寸

支援所有流行的紙張尺寸和許多非標準紙張尺寸。

Feature icon

使用智慧型手機掃描

使用智慧型手機相機代替掃描器。

Feature icon

無需設計工具

無需外部編輯器和設計工具即可快速建立 OMR 表單。

Feature icon

精度調整

微調辨識參數,在任何條件下都能獲得完美結果。

Feature icon

批量處理

使用單一命令即可識別資料夾中的所有影像。

Feature icon

品牌和客製化

透過新增標誌、圖像、頁尾等來自訂 OMR 表單。

方便使用

您只需要幾行程式碼即可建立答案卷、調查或其他 OMR 表格,並識別完成的表格。

安裝

Aspose.OMR for C++ 作為輕量級 NuGet 套件 或作為 [可下載檔案]( https://releases.aspose . com /omr/cpp/) 具有最小的依賴性。該套件可以直接從 Microsoft Visual Studio 新增到您的專案中。只需將其 安裝 到您的專案中,您就可以使用所有OMR 功能並以任何支援的格式儲存識別結果。 />
您可以在安裝後立即開始使用 Aspose.OMR for C++,但有一些限制。 臨時授權 消除了試用版的所有限制,有效期為 30 天。使用它開始建立功能齊全的 OMR 應用程序,並稍後做出最終決定 購買 Aspose.OMR for C++。

表格產生器

OMR 表單的結構和佈局使用特殊符號在純文字檔案中指定。您可以使用任何文字編輯器(包括記事本)來建立它。只需 4 行即可產生 150 個問題的機器可讀答案卷:

How to design an answer sheet

?answer_sheet=answers
  elements_count=150
  answers_count=5
  columns_count=3


完成表單結構和佈局後,您只需要 3 行程式碼即可建立一個簡單的實用程序,從中產生可列印的頁面:

How to generate a printable form

// Initialize Aspose.OMR engine
System::SharedPtr<Api::OmrEngine> engine = System::MakeObject<Api::OmrEngine>();
// Generate machine-readable form from the markup
System::SharedPtr<Generation::GenerationResult> result = engine->GenerateTemplate(u"template.txt");
// Save printable OMR form to an image file
result.Save("target", "omr-form");

光學標記閱讀器

使用 Aspose.OMR for C++,您可以用 5 行程式碼建立功能齊全的程式設計光學標記閱讀器。您可以使用現有的辦公室影印機甚至智慧型手機相機來取代昂貴的 OMR 掃描器。受訪者可以使用鋼筆、鉛筆或記號筆填寫表格,並使用任何類型的標記。

How to recognize a completed form

// Initialize OMR engine
System::SharedPtr<Api::OmrEngine> engine = System::MakeObject<Api::OmrEngine>();
// Load recognition pattern file
System::SharedPtr<Api::TemplateProcessor> processor = engine->GetTemplateProcessor(u"omr-form.omr");
// Recognize completed survey
System::SharedPtr<Model::RecognitionResult> result = processor->RecognizeImage(u"IMG_20220401.jpg");
// Get results in CSV format
System::String resultCsv = result->GetCsv();