Aspose.OMR for C++
OMR フォームを作成しデータを認識する C++ ライブラリ
C++ 開発者向けの最先端光学式マーク認識(OMR)ソリューションで、C++ アプリケーション内で OMR テンプレート/フォームの作成とスキャン画像・写真の認識が可能です。
Aspose.OMR for C++ とは何ですか?
Aspose.OMR for C++ は、C++ アプリケーション内で光学式マーク認識(OMR)タスクを効率化するよう設計された、強力かつ柔軟な C++ OMR API です。調査システム、試験処理ツール、またはカスタム OMR アプリを構築する開発者に最適で、この SDK はシームレスな統合を提供し、詳細なドキュメント、サンプルコード、クロスプラットフォームサポートが完備されています。選択式、グリッド式、テキストベースの質問タイプを処理する機能を備えており、スキャン画像や写真を正確に読み取ることに優れています。開発者は認識結果を CSV 形式でエクスポートでき、テスト、フォーム、アンケートのデータをさまざまなプラットフォームで互換性の心配なく簡単に分析できます。
C++ 用のカスタム OMR ソフトウェアを開発している場合でも、信頼できる C++ 用 OMR SDK を探している場合でも、Aspose.OMR は包括的なソリューションとして際立っています。チェックボックス検出、グリッドフィールド、柔軟な OMR テンプレートなどの高度な機能をサポートします。また、ライブラリは他の Aspose API とスムーズに統合でき、開発者は追加のファイル形式やドキュメント自動化機能でアプリケーションを強化できます。C++ を使用した高精度 OMR 画像解析からスケーラブルなフォーム処理システムの構築まで、Aspose.OMR for C++ は開発者が効率的で機能豊富な OMR ソリューションを迅速かつ確実に作成できるよう支援します。
Aspose.OMR for C++ の開始方法
Aspose.OMR for C++ の推奨インストール方法は NuGet を使用することです。スムーズなインストールのために、以下のコマンドをご利用ください。
NuGet を使用して Aspose.OMR for C++ をインストールする
Install-Package Aspose.OMR.Cpp
ライブラリは Aspose.OMR 製品ページから直接ダウンロードできます
C++ API を使用して OMR テンプレート/フォームを生成する
Aspose.OMR for C++ API は、OMR システムの重要な側面であるテンプレート作成を容易にします。C++ OMR API を使用すると、ソフトウェア開発者はさまざまな種類のフォーム用テンプレートを設計でき、スキャンプロセス中の正確なデータ抽出を保証します。この API は、すべてのテンプレートページに適用される用紙サイズ、向き、フォント、色、その他のレイアウト設定をカスタマイズするために使用でき、さらに多くの機能を提供します。この機能により、調査、試験、評価などのさまざまな分野への OMR 機能の統合がスムーズになります。以下の例は、C++ アプリケーション内で印刷でき、回答者に配布できるフォーム画像を生成する方法を示しています。
C++ アプリケーション内でフォーム画像を生成する方法は?
//Generate the form for ANSI Letter paper size
System::SharedPtr engine = System::MakeObject();
// Generate the form for ANSI Letter paper size (8.5 by 11 inches)
System::SharedPtr settings = System::MakeObject();
settings->setPaperSize(Api::PaperSize::Letter);
System::SharedPtr result = engine->GenerateTemplate(markupPath, nullptr, settings);
C++ API を使用して OMR フォームを認識する
Aspose.OMR for C++ は高度な OMR 機能を備えており、ソフトウェア開発者が複雑なフォームを簡単に設計・処理できるようにします。API を使用して光学マーク認識 (OMR) フォームを認識することは、いくつかの重要な手順を含むシンプルなプロセスです。インストール後、ユーザーは認識したいフォームに対応する OMR テンプレートをロードする必要があります。その後、OMR フォームのスキャン画像をロードし、ロードしたテンプレートを使用して処理し、認識されたデータを取得し、必要に応じて保存します。以下の例は、C++ アプリケーション内で OMR フォームを認識しデータを抽出する方法を示しています。
C++ API を使用して OMR フォームからデータを認識および抽出する方法は?
#include
omr::AsposeOmrApi api;
api.LoadTemplate("path/to/your/template.omr");
// Load and Process the Image
api.LoadImage("path/to/your/scanned/image.jpg");
api.Process();
// Access Recognized Data
omr::OmrPageReader reader = api.GetOmrPageReader();
std::vector pages = reader.ExtractPages();
omr::OmrPage page = pages[0]; // Assuming there's only one page in the form
// Access and handle recognized data
// Example: Extracting data from the grid
omr::Grid grid = page.GetGrids()[0]; // Assuming there's only one grid on the page
std::vector> data = grid.ExtractData();
// Finalize and Cleanup
api.Finalize();
高速かつ効率的な OMR スキャン
効率性は重要であり、特に大量のスキャン文書を扱う場合に不可欠です。Aspose.OMR for C++ は高速スキャンに優れ、OMR シートから迅速かつ正確にデータを抽出できます。この機能は、時間が重要な試験やアンケートなど、時間制限のあるアプリケーションに特に価値があります。API はチェックボックス、グリッド、テキストエリアなど、幅広い OMR 要素をサポートします。この包括的なサポートにより、開発者はさまざまな文書タイプを扱うことができ、OMR 機能を必要とするアプリケーションにとって汎用性の高い選択肢となります。
マルチページ文書処理
Aspose.OMR for C++ はマルチページ文書処理に優れており、開発者が大規模なデータセットをシームレスに扱うことができます。この機能は、参加者が多数いる調査や試験などのアプリケーションに特に有用です。OMR C++ API を使用してマルチページ文書を処理するには、各ページをロードし、処理し、データを抽出する一連の手順が必要です。たとえば、OMR テンプレートをロードし、マルチページ文書の各ページを処理してデータを保存します。
C++ API を介してマルチページ文書の各ページをロードおよび処理する方法は?
#include
// Load the OMR template
omr::AsposeOmrApi api;
api.LoadTemplate("path/to/your/template.omr");
//process each page of the multi-page document.
const int pageCount = 5; // Change this to the total number of pages in your document
for (int currentPage = 1; currentPage <= pageCount; ++currentPage) {
std::string imagePath = "path/to/your/scanned/image" + std::to_string(currentPage) + ".jpg";
api.LoadImage(imagePath);
api.Process();
// Access and handle recognized data for each page
omr::OmrPageReader reader = api.GetOmrPageReader();
std::vector pages = reader.ExtractPages();
omr::OmrPage page = pages[0]; // Assuming there's only one page in each image
// Access and handle recognized data
// Example: Extracting data from the grid
omr::Grid grid = page.GetGrids()[0]; // Assuming there's only one grid on the page
std::vector> data = grid.ExtractData();
// Further processing or storage of the data can be done here
// Cleanup for the next iteration
api.Finalize();
}
// release resources.
api.Finalize();