C# でバーコードを含む OMR シートを作成する | OMR バーコード C# を読み取る

光学式マーク認識 (OMR) は、マークされたフォームの画像を読み取り、データを抽出するために使用できるテクノロジです。 OMR は標準化されたテスト、調査、投票でよく使用されますが、生徒の作業の採点や在庫の追跡など、他のさまざまなアプリケーションでも使用できます。このブログ投稿では、C# でバーコードを含む OMR シートを作成して読み取る方法を説明します。

この記事では次のトピックについて説明します。

  1. バーコードを使用した OMR の作成と読み取り - C# API
  2. バーコード付きOMRシートを作成する
  3. バーコード付きOMRシートを読み取る
  4. 無料の学習リソース

バーコードを使用した OMR の作成と読み取り - C# API

Aspose.OMR for .NET API を使用して、C# でバーコード付きの OMR シートを作成および読み取ります。これにより、開発者は、.NET アプリケーションで手書きの回答用紙、アンケート、アプリケーション、および同様のフォームを迅速かつ簡単に設計、レンダリング、認識できるようになります。

APIのDLLをダウンロードするか、NuGetを使用してインストールしてください。

PM> Install-Package Aspose.OMR

C#でバーコードを含むOMRシートを作成する

以下の手順に従って、単純なテキスト マークアップを使用して、OMR テンプレート (.omr) ファイルとシート イメージを簡単に作成できます。

  1. OmrEngine クラスのインスタンスを作成します。
  2. その後、テキスト ファイルのパスを引数として GenerateTemplate() メソッドを呼び出して、GenerationResult オブジェクトを取得します。
  3. 最後に、Save() メソッドを呼び出して、生成されたイメージと .omr テンプレート ファイルをローカル ディスクに保存します。

次のコード サンプルは、C# を使用してバーコードを含む OMR シートを作成する方法を示しています。

// 入出力ファイルのディレクトリ
string dataDir = "C:\\Files\\";

// エンジンの初期化
OmrEngine engine = new OmrEngine();

GenerationResult res = engine.GenerateTemplate(Path.Combine(dataDir, "OMRTestWithBarcode.txt"));

// エラーが発生した場合のチェック
if (res.ErrorCode != 0)
{
    Console.WriteLine("ERROR: " + res.ErrorCode + ": " + res.ErrorMessage);
}

// 生成結果の保存: 画像と .omr テンプレート
res.Save(dataDir, "OMRTestWithBarcode");
C#でバーコードを含むOMRシートを作成する

C#でバーコードを含むOMRシートを作成します。

OMR テンプレートの作成に使用される次の単純なテキスト マークアップをさらに確認できます。

?barcode=AsposeWebsite
	value=aspose.com
	barcode_type=qr
	qr_version=1
	x=1900
	y=250
	height=360

?grid=ID
	sections_count=8
#What is Aspose.OMR main function?
	() OCR () Capture human-marked data
	() There is no main function () Enhance images
#Can Aspose.OMR process not only scans, but also photos?
	() Yes, indeed! () No
#Aspose.OMR is available on any platform, because it is:
	() Cross-platform code () Cloud service
#Aspose.OMR works with any kind of OMR forms: tests, exams, questionnaires, surveys, etc.
	() Yes, indeed! () No

?text= Answer sheet section
?answer_sheet=MainQuestions
	elements_count=12
	columns_count=4

?text=Sign________________________________

ここから 生成された OMR テンプレートをダウンロードしてください。

C#でバーコード付きOMRシートを読み取る

バーコードを含む OMR シートの塗りつぶされたスキャン画像に対して OMR 操作を実行し、CSV ファイルにデータを抽出できます。この目的のために、準備された OMR テンプレート (.omr) と画像 (ユーザーが入力したフォーム/シート) が必要です。バーコード付きOMRシートを読み取り、CSVでデータを抽出するには、以下の手順に従ってください。

  1. OmrEngine クラスのインスタンスを作成します。
  2. GetTemplateProcessor() メソッドを呼び出し、TemplateProcessor クラス オブジェクトを初期化します。 OMR テンプレート ファイルのパスを引数として受け取ります。
  3. 画像パスを引数として Recognize() メソッドを呼び出して、RecognitionResult オブジェクトを取得します。
  4. その後、GetCsv()メソッドを使用して認識結果をCSV文字列として取得します。
  5. 最後に、CSV 結果を CSV ファイルとしてローカル ディスクに保存します。

次のコード サンプルは、C# でバーコードを含む OMR シートからデータを読み取り、抽出する方法を示しています。

// このコード例は、画像に対して OMR を実行してデータを抽出する方法を示しています。
// OMR テンプレート ファイルのパス
string TemplateName = @"OMRTestWithBarcode.omr";
string UserImage = @"OMRTestWithBarcode.png";

// 入力ファイルと出力ファイルのパス
string dataDir = "C:\\Files\\";
string templatePath = Path.Combine(dataDir, TemplateName);

// OMR エンジンの初期化
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");

// CSVで結果を取得する
string imagePath = Path.Combine(dataDir, UserImage);
string csvResult = templateProcessor.Recognize(imagePath).GetCsv();

// CSVファイルの保存
File.WriteAllText(Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"), csvResult);
Console.WriteLine("Result exported. Path: " + Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"));

Console.WriteLine(csvResult);
C#でバーコード付きOMRシートを読み取る

C# でバーコード付きの OMR シートを読み取ります。

無料ライセンスを取得する

無料の一時ライセンスを取得して、評価制限なしでライブラリを試すことができます。

Aspose.OMR for .NET – 学習リソース

画像から OMR データを抽出するだけでなく、以下のリソースを使用して、Aspose.OMR について詳しく学び、ライブラリの他の機能を探索することができます。

結論

この記事では、C# でバーコード付きの OMR シートを作成して読み取る方法を学びました。 OMR データを CSV 形式で抽出して保存する方法についても説明しました。この記事で説明されている手順に従うことで、Aspose.OMR を利用して独自の OMR アプリケーションを開発できます。不明な点がある場合は、無料サポート フォーラムまでお気軽にお問い合わせください。

関連項目