光学式マーク認識 (OMR) は、特定の種類のマークが付いた文書からデータを取得するプロセスです。マークは人間が行い、OMR シート リーダー ソフトウェアまたはスキャナーで読み取られます。ただし、OMR は、回答シートと OMR テンプレートの作成と評価を自動化する上で重要なコンポーネントです。そこで、このブログ記事では、Java プログラマー向けの OMR ライブラリを紹介します。Aspose.OMR for Java は、Java でプログラム的に OMR シート リーダーを構築する機能を提供します。さらに、オンライン OMR ツールについても説明しますので、この記事をよくお読みください。
このブログ投稿では、以下のセクションについて説明します。
Aspose.OMR for Java - OMR ライブラリのインストール
インストールに関する包括的なガイドがあります。そのため、JARファイルをダウンロードするか、次のMaven構成を使用することができます。
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://releases.aspose.com/java/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-omr</artifactId>
<version>23.12</version>
</dependency>
</dependencies>
Java の OMR シート リーダー - コード サンプル
以下の手順に従って、OMR シート リーダー ソフトウェアの開発を開始できます。
- OmrEngineクラスのオブジェクトを作成します。
- テンプレートプロセッサを取得するには、getTemplateProcessor メソッドを呼び出します。
- 再計算で使用するカスタムしきい値を設定します。範囲は (0 ~ 100) です。値が低いほど、バブルが塗りつぶされたとカウントされるために必要な黒ピクセルの数が少なくなり、その逆も同様です。
- 画像をループします。
- recognizeImage メソッドを呼び出して画像を認識します。
- getCsv メソッドを呼び出してエクスポート CSV 文字列を取得し、CSV を出力フォルダーに保存します。
- recalculate メソッドを呼び出して、カスタムしきい値で認識結果を再計算します。
- 再計算された結果を CSV ファイルに保存します。
次のコード スニペットは、Java でプログラム的に OMR シート リーダーを開発する方法を示しています。
package com.example;
import com.aspose.omr.OmrEngine;
import com.aspose.omr.RecognitionResult;
import com.aspose.omr.TemplateProcessor;
import java.io.FileOutputStream;
import java.io.PrintWriter;
// Java の OMR シート リーダー - OMR シート PNG
public class Main {
public static void main(String[] args) throws Exception {
// 作業ディレクトリを定義します。
String[] UserImages = new String[] { "/Sheet.png" };
String[] UserImagesNoExt = new String[] { "/files/" };
String templatePath = "/Sheet.omr";
// OmrEngine クラスのオブジェクトを作成します。
OmrEngine engine = new OmrEngine();
// テンプレート プロセッサを取得するには、getTemplateProcessor メソッドを呼び出します。
TemplateProcessor templateProcessor = engine.getTemplateProcessor(templatePath);
// 再計算で使用するカスタムしきい値を設定します。範囲は (0 ~ 100) です。値が低いほど、バブルが塗りつぶされたとカウントされるために必要な黒ピクセルの数が少なくなり、その逆も同様です。
int CustomThreshold = 0;
// 画像をループします。
for (int i = 0; i < UserImages.length; i++)
{
String image = UserImages[i];
String imagePath = image;
// recognizeImage メソッドを呼び出して画像を認識します。
RecognitionResult result = templateProcessor.recognizeImage(imagePath);
// getCsv メソッドを呼び出してエクスポート CSV 文字列を取得し、CSV を出力フォルダーに保存します。
String stringRes = result.getCsv();
String outputName = UserImagesNoExt[i] + ".csv";
PrintWriter wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
// 再計算メソッドを呼び出して、カスタムしきい値で認識結果を再計算します。
templateProcessor.recalculate(result, CustomThreshold);
stringRes = result.getCsv();
// 再計算された結果を CSV ファイルに保存します。
outputName = UserImagesNoExt[i] + "_recalculated.csv";
wr = new PrintWriter(new FileOutputStream(outputName), true);
wr.println(stringRes);
}
}
}
出力は以下の画像で確認できます。
オンラインOMRツール
Java用のOMRライブラリに加えて、Aspose.OMRはオンラインOMRシートリーダーをサポートしています。そのため、この無料ツールは非常に安全で、バブルアンサーシートを効率的にスキャンします。何よりも、アカウントの作成やサブスクリプションは必要ありません。そのため、ファイルをドラッグアンドドロップするだけで使用できます。
OMR シート PNG - 無料ライセンスを取得
今なら、無料の一時ライセンスを利用して、評価制限を超えてこのOMRライブラリを試すことができます。
結論
これでこのブログ投稿は終了です。OMR とは何か、そして Java で OMR シート リーダーを構築する実装について説明しました。同様に、この OMR ライブラリを活用して独自の OMR シート リーダー ソフトウェアを開発することで、時間と労力を節約できます。また、GitHub リポジトリにアクセスして開発を開始することもできます。さらに、ドキュメント と API リファレンス にアクセスして、Aspose.OMR for Java の詳細を確認することもできます。
ヘルプが利用可能です
ご質問やご不明な点はフォーラムで共有できます。
よくある質問 – FAQ
OMRシートをオンラインで確認できますか?
このオンラインOMRシートリーダーを使用して、OMR解答用紙を確認できます。
Java で OMR シートを読み取るにはどうすればいいですか?
Aspose.OMR for Java は、OMR 解答用紙をプログラムで読み取るための豊富な機能を備えた OMR ライブラリです。方法については、この リンク を参照してください。