本发明涉及答题卡智能识别技术领域,具体涉及一种答题卡智能识别方法和系统。
背景技术:
目前,各种大中型考试通过利用计算机辅助阅卷的方式,能够完成对答题卡中的考号和客观题答案的识别,从而大大减轻了老师阅卷的工作强度和提高了阅卷效率,因此答题卡以及与答题卡相配套的题卡识别系统较为广泛地应用于各种大中型考试、日常测验和练习等教学活动中。
现有的题卡识别系统基于题卡模板对多张答题卡进行识别,其中答题卡的题卡类型须与题卡识别系统中当前题卡模板的类型保持一致。为了答题卡能被题卡识别系统准确地识别,答题卡在被扫描和识别前,工作人员会按照试卷类型对答题卡进行严格分类,以确保待扫描和识别的答题卡和题卡识别系统中的当前题卡模板的类型属于同一试卷类型。实践中,若多张待扫描和识别的答题卡并没有以试卷类型进行分类,或者同一试卷类型的多张答题卡中混入了其他试卷类型的答题卡时,则会出现只能准确识别其中一种试卷类型的答题卡,而其他试卷类型的答题卡则不能被识别的问题。因此,工作人员需要按照试卷类型对答题卡重新进行分类或者筛选出其他试卷类型的答题卡,并重新核对每一张答题卡。对于大型考试而言,答题卡数量大,因而人工分类或人工筛选费时费力,这无疑增加了工作人员的工作强度。
技术实现要素:
本发明的目的是提供了一种答题卡智能识别方法和系统,能够对不同试卷类型的答题卡进行扫描和识别,解决了多张待扫描和识别的答题卡并没有以试卷类型进行分类,或者同一试卷类型的多张答题卡中混入了其他试卷类型的答题卡时造成的只能准确识别其中一种试卷类型的答题卡,而其他试卷类型的答题卡则不能被识别的技术问题;同时解决了对于大型考试的大数量的答题卡进行人工分类或人工筛选导致的费时费力问题,降低了工作人员的工作强度,提升了答题卡识别的准确率。
本发明提供的技术方案如下:
一种答题卡智能识别方法,方法包括:
客户端接收带有二维码的题卡图片,并读取二维码中携带的题卡标识id号,在该题卡标识id号与当前题卡模板对应的题卡模板标识id号不相等的情况下,将该题卡标识id号携带在需要发送的题卡模板数据获取请求中,发送请求;
服务器端接收题卡模板数据获取请求,并将题卡标识id号作为索引值在题卡模板信息库中查找题卡模板,将该题卡模板发送给客户端;
客户端接收以及加载题卡模板,对题卡图片中填涂区域进行图像识别并获取题卡图片所有填涂点的填涂信息。
进一步地,客户端读取二维码中携带的题卡标识id号之后,还包括:
在该题卡标识id号与当前题卡模板对应的题卡模板标识id号相等的情况下,客户端加载当前题卡模板,对题卡图片填涂区域进行图像识别并获取题卡图片的所有填涂点的填涂信息。
进一步地,对题卡图片中填涂区域进行图像识别并获取题卡图片所有填涂点的填涂信息,其方式包括:
读取题卡模板记录的填涂区域内填涂点的数组信息,确定填涂区域内填涂点位置;
分别定位至每一个填涂点位置,检测出每一个填涂点位置内的灰度值以及计算填涂点内的填涂面积;
根据填涂点的灰度值以及填涂面积,判定每一个填涂点是否被填涂,并形成填涂结果。
进一步地,客户端接收带有二维码的题卡图片之前,还包括:
客户端接收带有二维码的空白题卡图片并读取二维码中携带的题卡标识id号;
对空白题卡图片中填涂区域进行图像识别并获取填涂区域内的所有填涂点特征信息;
将所有填涂点特征信息生成一题卡模板,并将题卡标识id号作为题卡模板标识id号并与题卡模板建立索引关系;
将题卡模板发送给服务器。
进一步地,对空白题卡图片填涂区域进行图像识别并获取题卡图片的所有填涂点的特征信息,其方式包括:
通过腐蚀和膨胀的方法去除题卡图片中填涂区域的网格线,保留填涂点的矩阵信息;再次对题卡图片中填涂区域进行膨胀处理后,从水平方向和垂直方向对填涂点进行投影,获得填涂点的坐标信息;将填涂点的坐标信息封装成填涂点的数组信息。
一种答题卡智能识别系统,包括有客户端和与客户端保持数据通信连接的服务器端,
客户端包括:
扫描模块,用于对答题卡进行扫描并生成带有二维码的题卡图片;
与扫描模块保持数据通信连接的读取模块,用于接收带有二维码的题卡图片,并读取二维码中携带的题卡标识id号;
与读取模块保持数据通信连接的处理模块,用于判断题卡标识id号与当前题卡模板对应的题卡模板标识id号是否一致,在判定该题卡标识id号与当前题卡模板对应的题卡模板标识id号不相等的情况下,将该题卡标识id号携带在需要发送的题卡模板数据获取请求中,发送请求;
与处理模块保持数据通信连接的识别模块,用于接收以及加载题卡模板,并对题卡图片中填涂区域进行图像识别,获取题卡图片所有填涂点的填涂信息;
服务器端包括:
查找模块,用于接收题卡模板数据获取请求,并将题卡标识id号作为索引值在题卡模板信息库中查找题卡模板,将查找到的题卡模板发送给客户端。
进一步地,在处理模块判定该题卡标识id号与当前题卡模板对应的题卡模板标识id号相等的情况下,
识别模块还用于,加载当前题卡模板,并对题卡图片填涂区域进行图像识别,获取题卡图片的所有填涂点的填涂信息。
进一步地,识别模块包括:
位置确认单元,用于读取题卡模板记录的填涂区域内填涂点的数组信息,确定填涂区域内填涂点位置;其中,填涂点的数组信息包括填涂点左上角数组信息、填涂点所包括的区域的长度和宽度信息。
检测单元,用于分别定位至每一个填涂点位置,检测出每一个填涂点位置内的灰度值以及计算填涂点内的填涂面积;
结果生成单元,用于根据填涂点的灰度值以及填涂面积,判断每一个填涂点是否被填涂,并形成填涂结果。
进一步地,在接收带有二维码的题卡图片之前,
读取模块还用于,接收带有二维码的空白题卡图片并读取二维码中携带的题卡标识id号;
识别模块还用于,对空白题卡图片中填涂区域进行图像识别并获取填涂区域内的所有填涂点特征信息;
处理模块还用于,将所有填涂点特征信息生成一题卡模板,并将题卡标识id号作为题卡模板标识id号并与题卡模板建立索引关系,并将题卡模板发送给服务器。
进一步地,识别模块还包括:
网格线去除单元,用于通过腐蚀和膨胀的方法去除题卡图片中填涂区域的网格线,保留填涂点的矩阵信息;
填涂点坐标信息获取单元,用于通过再次对题卡图片中填涂区域进行膨胀处理后,从水平方向和垂直方向对填涂点进行投影,获得填涂点的坐标信息;
封装单元,用于将填涂点的坐标信息封装成填涂点的数组信息。
本发明通过客户端对接收的带二维码的图片进行识读,获取二维码中所携带的题卡标识id号,并将携带有题卡标识id号的题卡模板获取请求传送至服务器端;服务器端通过在题卡模板数据库中查找与题卡标识id号相对应的题卡模板数据并将其发送给客户端,客户端加载题卡模板数据并利用图片识别技术对题卡图片进行识别,获取题卡图片中的填涂区域所有的填涂点信息。由于每张答题卡上都设置有一种试卷类型的二维码,而二维码所携带的题卡标识id号与题卡模板数据库中的题卡模板数据相对应,因此能够完成对所有的答题卡的识别。
本发明产生的有益效果:
1.本发明能够对不同试卷类型的答题卡进行扫描和识别,且答题卡识别的准确率高;
2.本发明解决了多张待扫描和识别的答题卡并没有以试卷类型进行分类,或者同一试卷类型的多张答题卡中混入了其他试卷类型的答题卡时造成的只能准确识别其中一种试卷类型的答题卡,而其他试卷类型的答题卡则不能被识别的技术问题;
3.本发明解决了对于大型考试的大数量的答题卡进行人工分类或人工筛选导致的费时费力问题,降低了工作人员的工作强度,提升了答题卡识别的准确率;
4.本发明解决了现有的答题卡智能识别系统不支持混合扫描的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明所述的空白题卡识别的流程图;
图2是本发明所述的空白题卡图片填涂区域进行图像识别的流程图;
图3是本发明所述的题卡识别的流程图;
图4是本发明所述的题卡图片中填涂区域进行图像识别的流程图;
图5是本发明所述的答题卡智能识别系统的结构示意图;
图6是本发明所述的实施例中答题卡智能识别方法的流程图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
一种答题卡智能识别方法,包括两个识别过程,即空白题卡识别过程和载有填涂信息的题卡识别过程。
如附图1所示,空白题卡识别过程:
s101.客户端接收带有二维码的空白题卡图片并读取二维码中携带的题卡标识id号;
s102.对空白题卡图片中填涂区域进行图像识别并获取填涂区域内的所有填涂点特征信息;
s103.将所有填涂点特征信息生成一题卡模板,并将题卡标识id号作为题卡模板标识id号并与题卡模板建立索引关系,并将题卡模板发送给服务器。
步骤s102中,对空白题卡图片填涂区域进行图像识别并获取题卡图片的所有填涂点的特征信息,如附图2所示,其实现方式包括:
s201.通过腐蚀和膨胀的方法去除题卡图片中填涂区域的网格线,保留填涂点的矩阵信息;
s202.再次对题卡图片中填涂区域进行膨胀处理后,从水平方向和垂直方向对填涂点进行投影,获得填涂点的坐标信息;
s203.将填涂点的坐标信息封装成填涂点的数组信息。
如附图3所示,题卡识别过程:
s301.客户端接收带有二维码的题卡图片,并读取二维码中携带的题卡标识id号;
s302.客户端判断该题卡标识id号与当前题卡模板对应的题卡模板标识id号是否相等;
s303.在该题卡标识id号与当前题卡模板对应的题卡模板标识id号相等的情况下,客户端加载当前题卡模板,对题卡图片填涂区域进行图像识别并获取题卡图片的所有填涂点的填涂信息;
s304.在该题卡标识id号与当前题卡模板对应的题卡模板标识id号不相等的情况下,将该题卡标识id号携带在需要发送的题卡模板数据获取请求中,发送请求;
s305.服务器端接收题卡模板数据获取请求,并将题卡标识id号作为索引值在题卡模板信息库中查找题卡模板,将该题卡模板发送给客户端;
s306.客户端接收以及加载题卡模板,对题卡图片中填涂区域进行图像识别并获取题卡图片所有填涂点的填涂信息。
步骤s303和步骤s306中,对题卡图片中填涂区域进行图像识别并获取题卡图片所有填涂点的填涂信息,如附图4所示,其实现方式具体包括:
s401.读取题卡模板记录的填涂区域内填涂点的数组信息,确定填涂区域内填涂点位置;
s402.分别定位至每一个填涂点位置,检测出每一个填涂点位置内的灰度值以及计算填涂点内的填涂面积;
s403.根据填涂点的灰度值以及填涂面积,判定每一个填涂点是否被填涂,并形成填涂结果。
如附图5所示,一种答题卡智能识别系统,包括有客户端和与客户端保持数据通信连接的服务器端,客户端包括:
扫描模块,用于对答题卡进行扫描并生成带有二维码的题卡图片;
与扫描模块保持数据通信连接的读取模块,用于接收带有二维码的题卡图片,并读取二维码中携带的题卡标识id号;
与读取模块保持数据通信连接的处理模块,用于判断题卡标识id号与当前题卡模板对应的题卡模板标识id号是否一致,在判定该题卡标识id号与当前题卡模板对应的题卡模板标识id号不相等的情况下,将该题卡标识id号携带在需要发送的题卡模板数据获取请求中,发送所述请求;
与处理模块保持数据通信连接的识别模块,用于接收以及加载题卡模板,并对题卡图片中填涂区域进行图像识别,获取题卡图片所有填涂点的填涂信息;
在处理模块判定该题卡标识id号与当前题卡模板对应的题卡模板标识id号相等的情况下,识别模块还用于,加载当前题卡模板,并对题卡图片填涂区域进行图像识别,获取题卡图片的所有填涂点的填涂信息。
其中,识别模块对题卡图片中填涂区域进行图像识别并获取题卡图片所有填涂点的填涂信息,识别模块还包括:
位置确认单元,用于读取题卡模板记录的填涂区域内填涂点的数组信息,确定填涂区域内填涂点位置;
检测单元,用于分别定位至每一个填涂点位置,检测出每一个填涂点位置内的灰度值以及计算填涂点内的填涂面积;
结果生成单元,用于根据填涂点的灰度值以及填涂面积,判断每一个填涂点是否被填涂,并形成填涂结果。
读取模块、识别模块和处理模块还用于对空白题卡的识别,具体为:
读取模块还用于,接收带有二维码的空白题卡图片并读取二维码中携带的题卡标识id号;
识别模块还用于,对空白题卡图片中填涂区域进行图像识别并获取填涂区域内的所有填涂点特征信息,其中,识别模块包括:
网格线去除单元,用于通过腐蚀和膨胀的方法去除题卡图片中填涂区域的网格线,保留填涂点的矩阵信息;
填涂点坐标信息获取单元,用于通过再次对题卡图片中填涂区域进行膨胀处理后,从水平方向和垂直方向对填涂点进行投影,获得填涂点的坐标信息;
封装单元,用于将填涂点的坐标信息封装成填涂点的数组信息,其中,填涂点的数组信息包括填涂点左上角数组信息、填涂点所包括的区域的长度和宽度信息;
处理模块还用于,将所有填涂点特征信息生成一题卡模板,并将题卡标识id号作为题卡模板标识id号并与题卡模板建立索引关系,并将题卡模板发送给服务器。
服务器端包括:
查找模块,用于接收题卡模板数据获取请求,并将题卡标识id号作为索引值在题卡模板信息库中查找题卡模板,将查找到的题卡模板发送给客户端。
实施例:
如附图6所示,一种答题卡智能识别方法,方法包括:
s501.题卡扫描:扫描模块对载有填涂信息的答题卡进行扫描并生成带有二维码的题卡图片;
s502.题卡载入及二维码识别:读取模块接收带有二维码的题卡图片,并读取二维码中携带的题卡标识id号;
s503.检查模板:处理模块判断题卡标识id号是否与当前题卡模板对应的题卡模板标识id号相等,判定该题卡标识id号与当前题卡模板对应的题卡模板标识id号相等的情况下,进入步骤s504,判定该题卡标识id号与当前题卡模板对应的题卡模板标识id号不相等的情况下,进入步骤s505;
s504.模板载入及题卡识别:处理模块加载当前题卡模板,对题卡图片填涂区域进行图像识别并获取题卡图片的所有填涂点的填涂信息,然后跳转至步骤s501,进入下一轮题卡识别过程,直至全部题卡识别完毕并结束流程。
s505.模板请求:处理模块将该题卡标识id号携带在需要发送的题卡模板数据获取请求中,发送所述请求;
s506.模板发送:客户端内查找模块接收题卡模板数据获取请求,并将题卡标识id号作为索引值在题卡模板信息库中查找题卡模板,将该题卡模板发送给客户端;
s507.模板载入及题卡识别:处理模块加载来自于服务器的题卡模板,对题卡图片填涂区域进行图像识别并获取题卡图片的所有填涂点的填涂信息,然后跳转至步骤s501,进入下一轮题卡识别过程,直至全部题卡识别完毕并结束流程。