翻譯|使用教程|編輯:李顯亮|2021-08-09 10:13:53.073|閱讀 329 次
概述:光學標記識別 (OMR) 經常用于檢查調查、問卷和多項選擇題試卷。它是一種快速而準確的處理表格的方式。在本文中,將學習如何使用 Java 創建 OMR 模板和檢查填寫的答卷。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Aspose.OMR是一種光學標記識別API,用于識別各種類型的答題紙,包括測試,評估,調查,測驗,MCQ論文,反饋表格-包括氣泡作為輸入的任何類型的文檔。API支持創建和讀取OMR表單,并以流行的圖像格式處理照片和掃描,并提供各種格式的輸出。
光學標記識別 (OMR) 經常用于檢查調查、問卷和多項選擇題試卷。它是一種快速而準確的處理表格的方式。在本文中,將學習如何使用 Java 創建 OMR 模板和檢查填寫的答卷。
在本節中,將學習如何使用簡單的文本標記生成 OMR 模板文件和答卷圖像。我們將文本標記存儲在一個 TXT 文件中,并在 Java 代碼中使用它來生成 OMR 模板。下面給出的是我們將在本示例中用于生成 OMR 模板的文本標記:
?text=Name__________________________________ Date____________ ?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 #Excellent recognition results can be achieved only for filled bubbles at least for: () 40% () 60% () 75% () 98% #Do you have to mark up every question on the page? (Yes) Yes, that will help a lot! (No) No #Rate your preference from 0 to 9 with "0" being preference towards performance and "9" being preference towards flexibility. (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) #I found aspose omr to be a useful tool. (5 - strongly agree, 1 - strongly disagree) (5) (4) (3) (2) (1) ?text= Answer sheet section ?answer_sheet=MainQuestions elements_count=10 columns_count=5 ?text=Sign________________________________
現在我們已經準備好了文本標記,我們將按照下面給出的步驟來生成 OMR 模板。
以下示例代碼展示了如何使用 Java 文本標記生成 OMR 模板。
// Source and output directory paths String sourceDirectory = "SourceDirectory\\OMR\\Generation\\"; String outputDirectory = "OutputDirectory\\"; // Create an instance of the OmrEngine class OmrEngine engine = new OmrEngine(); // Generate template using the text markup GenerationResult res = engine.generateTemplate(sourceDirectory + "Grid.txt"); // Check in case of errors if (res.getErrorCode() != 0) { System.out.println("ERROR CODE: " + res.getErrorCode()); } // Save the generation result: image and .omr template res.save(outputDirectory, "Grid");
上面的代碼會生成一個 OMR 模板文件和一張答卷的圖片。以下是生成的答卷圖片。
在生成的答卷上收集到答案后,您可以捕獲它們的圖像,然后對其執行 OMR 操作。在這個例子中,我們將對兩個圖像執行 OMR 操作;第一個如下所示。
以下是對圖像進行 OMR 操作的步驟。
以下示例代碼展示了如何使用 Java 對圖像執行 OMR 操作。
// Source and output directory paths String sourceDirectory = "SourceDirectory\\OMR\\"; String outputDirectory = "OutputDirectory\\"; String TemplateName = "Sheet.omr"; String[] UserImages = new String[] { "Sheet1.jpg", "Sheet2.jpg" }; String[] UserImagesNoExt = new String[] { "Sheet1", "Sheet2" }; // Create an instance of the OmrEngine class OmrEngine engine = new OmrEngine(); // Load the template file TemplateProcessor templateProcessor = engine.getTemplateProcessor(sourceDirectory + "Sheet.omr"); System.out.println("Template loaded."); // Loop through the images for (int i = 0; i < UserImages.length; i++) { // Recognize image and receive result RecognitionResult result = templateProcessor.recognizeImage(sourceDirectory + UserImages[i]); // Export results as csv string String csvResult = result.getCsv(); // Save csv to the output folder PrintWriter wr = new PrintWriter(new FileOutputStream(outputDirectory + UserImagesNoExt[i] + ".csv"), true); wr.println(csvResult); }
如果你想試用Aspose的全部完整功能,可聯系在線客服獲取30天臨時授權體驗。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn