彩票走势图

光学标记识别API-Aspose.OMR实操指南:使用 Java 创建 OMR Sheet Checker 或 Scanner

翻译|使用教程|编辑:李显亮|2021-08-09 10:13:53.073|阅读 235 次

概述:光学标记识别 (OMR) 经常用于检查调查、问卷和多项选择题试卷。它是一种快速而准确的处理表格的方式。在本文中,将学习如何使用 Java 创建 OMR 模板和检查填写的答卷。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Aspose.OMR是一种光学标记识别API,用于识别各种类型的答题纸,包括测试,评估,调查,测验,MCQ论文,反馈表格-包括气泡作为输入的任何类型的文档。API支持创建和读取OMR表单,并以流行的图像格式处理照片和扫描,并提供各种格式的输出。

光学标记识别 (OMR) 经常用于检查调查、问卷和多项选择题试卷。它是一种快速而准确的处理表格的方式。在本文中,将学习如何使用 Java 创建 OMR 模板和检查填写的答卷。

  • 使用 Java 创建 OMR 模板和答卷图像
  • 使用 Java 在气泡答题纸上执行 OMR 操作

点击下载Aspose.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 模板。

  • 首先,创建OmrEngine的实例
  • 使用OmrEngine.generateTemplate(String markupPath)方法处理文本标记
  • 使用GenerationResult.save(String folder, String name)方法保存 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 模板文件和一张答卷的图片。以下是生成的答卷图片。

光学标记识别API-Aspose.OMR实操指南:使用 Java 创建 OMR Sheet Checker 或 Scanner

使用 Java 在气泡答题纸上执行 OMR 操作

在生成的答卷上收集到答案后,您可以捕获它们的图像,然后对其执行 OMR 操作。在这个例子中,我们将对两个图像执行 OMR 操作;第一个如下所示。

光学标记识别API-Aspose.OMR实操指南:使用 Java 创建 OMR Sheet Checker 或 Scanner

以下是对图像进行 OMR 操作的步骤。

  • 创建OmrEngine的实例
  • 使用OmrEngine.getTemplateProcessor(String templatePath)方法加载模板文件
  • 使用TemplateProcessor.recognizeImage(String imagePath)方法处理图像
  • 使用RecognitionResult.getCsv()方法以 CSV 格式获取结果

以下示例代码展示了如何使用 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天临时授权体验。


如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP