Java中的OMR表閱讀器-OMR表PNG

光學標記辨識 (OMR) 是從具有某種標記類型的文件中檢索資料的過程。標記由人工完成,並由 OMR 紙張閱讀器軟體或掃描器讀取。然而,OMR 是自動建立和評估答案捲和 OMR 範本的重要組成部分。因此,這篇部落格文章將為 Java 程式設計師介紹一個 OMR 函式庫。 Aspose.OMR for Java 提供了以程式設計方式在 Java 中建立 OMR 表格閱讀器的功能。此外,我們還將使用線上 OMR 工具,因此請仔細閱讀本文。

我們將在這篇文章中介紹以下部分:

  1. Aspose.OMR for Java - OMR 函式庫安裝
  2. Java 中的 OMR Sheet Reader - 程式碼範例
  3. 線上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>
omr庫安裝

Java 中的 OMR Sheet Reader - 程式碼範例

我們現在可以按照以下步驟開始開發 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);
		// 呼叫recalculate方法以自訂閾值重新計算識別結果。
		templateProcessor.recalculate(result, CustomThreshold);
		stringRes = result.getCsv();
		// 將重新計算的結果儲存在 CSV 檔案中。
		outputName = UserImagesNoExt[i] + "_recalculated.csv";
		wr = new PrintWriter(new FileOutputStream(outputName), true);
		wr.println(stringRes);
	}
    }
}

您可以在下圖中看到輸出:

OMR 表格閱讀器軟體

線上OMR工具

除了 Java 的 OMR 庫之外,Aspose.OMR還支援線上 OMR 表閱讀器。因此,這個免費工具非常安全,可以有效地掃描氣泡答案紙。最重要的是,無需建立或訂閱帳戶。因此,您只需拖放文件即可使用它。

線上OMR工具

OMR表 PNG - 獲得免費許可證

現在,您可以利用免費臨時許可證 超越評估限制來嘗試此 OMR 庫。

結論

這篇文章到此結束。我們已經了解了什麼是 OMR 以及用 Java 建立 OMR 表格閱讀器的實作。同樣,您可以利用此 OMR 庫來節省時間和人力,因為您可以開發自己的 OMR 表格閱讀器軟體。此外,您可以存取 GitHub 儲存庫來開始開發。此外,您可以造訪文件和API參考以了解有關Aspose.OMR for Java的更多資訊。

提供協助

您可以在我們的論壇上分享您的問題或問題。

常見問題 – 常見問題解答

可以線上查OMR表嗎?

您可以使用此線上 OMR 試卷閱讀器來檢查 OMR 答案卷。

如何用Java讀取OMR表?

Aspose.OMR for Java 是一個 OMR 函式庫,提供豐富的功能以程式設計方式讀取 OMR 答案卷。請參閱此連結以了解如何操作。

參見