LEADTOOLS教程:使用LEADTOOLS OMR处理大型测试和调查
LEADTOOLS (Lead Technology)由Moe Daher and Rich Little创建于1990年,其总部设在北卡罗来纳州夏洛特。LEAD的建立是为了使Daher先生在数码图象与压缩技术领域的发明面向市场。在过去的发展历程中,LEAD以其在全世界主要国家中占有的市场领导地位,在数码图象开发工具领域中已成为既定的全球领导者。LEADTOOLS开发与发布的LEAD是屡获殊荣的开发工具包。
光学标记识别(OMR)是形式识别的重要组成部分,但可能非常复杂。从表面上看,仅通过计数像素就可以很容易地检测出盒子是否被填充。尽管这对于小区域而言可能是正确的,但您如何处理带有数百个复选框的图像,如选择试卷或调查问卷?
充满泡沫的文档面临几个独特的挑战:
设置模板,以便识别引擎知道要查找的气泡以及在何处
为每个气泡或气泡组分配适当的值
处理与模板匹配的填充文档
理解所有数据并处理人为错误
提供分析信心报告
LEADTOOLS通过一套直观、易于使用的API和示例应用程序来解决这些问题,并在文档图像中创建和处理大量OMR字段。
创建模板
对于大型OMR数据集,第一个(也可能是最大的)问题是必须设置主表单模板的麻烦。LEADTOOLS表单识别的第一版包括OMR支持。但是,该版本的主要目标是捕获单个复选框,而不是捕获大量复选框。由于您必须在每个OMR字段周围绘制一个矩形,因此如果要设置大型调查表或考试表很麻烦。
对于版本20,LEADTOOLS添加了一个用户友好的单击和拖动界面来创建整个字段分组。解析后,您可以选择是按行还是按列细分每个答案,以及分配给每个单元格的值。提供了常见的答案集(1-9,A-Z等)以及分配自定义值的功能。您还可以告诉它以逗号分隔(用于多项选择答案)或组合为单个字符串(用于名称和日期)输出数据。
在后台,界面和对话框正在创建和编辑OmrFieldOptions对象。通过简单地传递边界矩形和一些选项,主模板的ITemplateForm.ExtractInfo方法将找到并创建所有单独的子字段,并对数据是什么进行一些初步猜测。(例如,方向、值、使用答案键等)
图1:想象一下在此表单的每个OMR气泡周围绘制一个矩形!
OmrField omrField = new OmrField(); omrField.Bounds = lr; omrField.PageNumber = _currentPageIndex + 1; omrField.Name = "Answers 1-15"; // Parse the area defined by the OmrField and populate the individual OMR sub-// fields within it templateForm.ExtractInfo(_currentPageIndex + 1, new Field[] { omrField }); for (int i = 0; i < omrField.Fields.Count; i++) { if (string.IsNullOrWhiteSpace(omrField.Fields[i].Name)) { omrField.Fields[i].Name = string.Format("Area {0}", i.ToString()); } } // Set additional options (you can also do this programmatically if desired) OmrFieldDialog dlg = new OmrFieldDialog(omrField, formPage.Image.Clone()); if (dlg.ShowDialog() == DialogResult.OK) { return omrField; }
“现在更像是它!”
处理填写的文件
设置主模板后,就该对它处理已填写的表单了。您可以选择单个文件,也可以选择整个文件夹来加载并与模板进行比较。如果要处理测试结果,则还可以在此步骤中提供答案键,以及其他选项,例如及格分数。
图2:管理要处理的已填写表格
图3:选择和配置答案键
不要让截图的简单性蒙骗您,OMR引擎本能地处理了很多幕后工作。自动预处理和对齐算法正是使LEADTOOLS如此特别的原因。扫描文档时,可能会出现一些常见的缺陷,例如角度稍微偏斜或黑色边框。这些问题由LEADTOOLS OMR引擎自动处理和解决。最重要的是,丰富的LEADTOOLS图像处理库为您提供了专门用于校正图像缺陷和变形的综合工具。但是,即使使用更高质量的分辨率,诸如主表单和填充表单之间不同的扫描分辨率之类的不太明显的问题也会极大地影响图像比较算法。这是因为填写的表单图像和模板的物理坐标将不匹配。另外,来自ADF扫描仪的非线性变形(例如,文档的某些部分的垂直拉伸)通常会绕开未经训练的眼睛,并且还会困扰处理。LEADTOOLS Forms Processing引擎会自动处理此类场景以及更多场景。这就是使其成为市场上功能最强大且最可靠的SDK之一的原因。
评分和分析结果
启用对模板中的OMR字段评分的选项时,LEADTOOLS会将用户的已填写响应与答案键进行匹配。除了检索结果之外,还将显示其他统计信息。
图4:处理结果,答案以黄色突出显示以供审核
根据模板处理填写的表格后,用户可以查看结果。LEADTOOLS将使用其可信度报告,然后根据颜色代码,正确(绿色),错误(红色)和需要审查(黄色)。当气泡没有完全填充或没有被浅色阴影填充时,通常会发生低置信度值。可以在设计模板时微调OMR灵敏度,但是通常最好在灵敏度低的方面犯错,因为大多数检查在气泡内都有字母或数值,可能会导致假阳性。此外,如果该字段为空白,或者对于同一答案填充了多个气泡,则应用程序将通知审阅者。
图5:查看答案
审阅窗格将显示已处理表格中的区域和答案键,以进行简单验证。例如,如果部分填充的气泡导致引擎将答案检测为空白,则用户可以更改答案并获取更新的统计信息。用户单击“下一步”按钮后,它将更改概述中单元格的背景颜色,表明答案已被查看。
您还可以在处理表单之前或之后自定义“需求审查”标准。这使用户能够过滤出结果,然后对需要检查的结果进行分类。
图6:设置要审查的新过滤器
图7:带有新突出显示颜色的复习考试
结论
LEADTOOLS OMR SDK超越了简单填充/未填充文档图像上光学标记的检测范围。它为应用程序开发人员提供了设计,处理和分析从考试和调查中发现的大量气泡中检索到的数据所需的一切。
本文内容到这里就结束了,感兴趣的朋友可以继续关注我们,了解更多产品信息~
LEADTOOLS Imaging Pro Developer Toolkit、LEADTOOLS Document Imaging Suite Developer Toolkit、LEADTOOLS Medical Imaging Developer Toolkit是LEADTOOLS的产品,点击查看产品详情