当前位置: 首页 > 专利查询>吴勇泉专利>正文

一种基于“矩M00”+“矩形定位”对答题卡进行识别的方法技术

技术编号:25186275 阅读:19 留言:0更新日期:2020-08-07 21:13
本发明专利技术提供了一种答题卡的识别处理方法,包括以下步骤:设计出一种附加矩形框的答题卡模版;用普通馈纸式扫描仪获取答题卡图像;针对大批量的扫描答题卡图像进行A、B面分类;利用矩形属性对图像进行修整、对图像进行定位;通过定位点和采样点对小矩形图像,逐个获取矩的M00值;利用图像矩的M00值不同,对填涂有答案的答题卡进行识别、提取并给予分数;调用Windows画图工具展示图像,操作改卷,并保留改后痕迹、分数;将试卷分数输出到Excel表格或数据库中。

【技术实现步骤摘要】
一种基于“矩M00”+“矩形定位”对答题卡进行识别的方法
计算机图像识别及一种答题卡识别的方法。
技术介绍
答题卡是考试采用的普遍形式,选择题答案的判别就是用计算机图像识别进行。现行判别方式多种多样,准确率高的对纸张,印刷、读取设备、计算机配置及软件等要求都很高,识别答案的关键还是在于应用软件的算法处理图像。目前,有网上阅卷系统、摄像头阅卷系统、扫描仪阅卷系统、数码相机阅卷系统及专门的读卡器阅卷系统等等。我探究、专利技术的这种利用图像矩M00值的不同来区分图像,结合矩形定位获取图像的方法,使得识别方法简便、高效。为满足普通学校低成本、简便、高效的使用需求,本系统采用:印刷答题卡的纸张要求:50—60g(高考答题卡是90-100g);普通馈纸式双面扫描仪:分辨率达150像素;普通喷墨打印机;普通学校用油印机;安装Windows10、office软件的普通电脑。本方法的理论基础来自于一个BSD许可(开源)发行的跨平台计算机视觉库OpenCV。OpenCV实现了图像处理和计算机视觉方面的很多通用算法。本方法理论基础:在OpenCV中,对于一幅图像,我们把像素的坐标看成是一个二维随机变量,那么一幅灰度图可以用二维灰度密度函数来表示,因此可以用矩来描述灰度图像的特征。不变矩(InvariantMoments)是一种高度浓缩的图像特征,具有平移、灰度、尺度、旋转不变性。零阶矩M00=∑∑V(i,j)这个M00值,对于同样形状、同样大小而灰度不同的图像来说,值的大小是不同的。
技术实现思路
在实际应用中如说明书附图5中标记3“四个小矩形”中的四个小矩形框,是用普通扫描仪150分辨率扫描答题卡得到的灰色图中的一部分,每个矩形大小相同,均为39*22像素,可以把它们分别看成为A图、B图、C图和D图4幅小图,分别代表答题卡中的选择题的四种选项A、B、C、D。用OpenCV中的函数Moments()可求出M00值,如下:Moments(A).M00=236730;Moments(B).M00=168054;Moments(C).M00=236404;Moments(D).M00=238588;显然B图的M00值比A、C、D的值小很多,其它三个值都比较接近。从黑、白来看,B图是黑的,其它三个是白的。这第二个矩形就是所选的答案B。通过实验检测,图像越黑,M00值越小,即涂的越黑,分辨率就越高。M00值是本方法的核心之一。本方法的“矩形定位”的原理:OpenCV中的FindContours()函数可以检索到图像的轮廓。在设计答题卡时,有意画一个大矩形(见说明书附图1标记1“定位矩形”),包围着选择区域。通过FindContours()函数可找到这个矩形,通过矩形的属性可获取到这个矩形的宽box.Size.Width、高box.Size.Height和中心坐标box.Center及本矩形与水平线的夹角box.Angle。夹角为0,表示矩形是端正的,图也就是端正的。夹角越大,图就越歪,也就说答题卡歪了。有了这个角度,使用OpenCV中的image.Rotate(angle)函数可以将这图旋转Angle角度,即把答题卡旋转端正,修正图形就是依据这个角。再用FindContours()函数,查找端正图中的矩形,这个矩形中心坐标box.Center就可用为图的定位点(锚点)。本方法应用这个点,通过矩形的宽box.Size.Width、高box.Size.Height求得矩形左上角顶点的值作为定点坐标(见说明书附图1标记2“定点坐标”)。这样通过“定位矩形”,解决了歪图的修正和图像定位点问题。“定位矩形”是本方法核心之二。有了定位点就能找到图像中每一题中的每一个选项图(小矩形图)见说明书附图5标记4,使用M00值对比,获取选项(见[0008]),再与标准答案对比,给予分数。本方法使用Windows画图工具设计答题卡,使用C#编程,识别用普通扫描仪获取的答题卡图像,是将OpenCV中的一些函数进行创新组合,得到解决答题卡识别的一种新方法。本专利技术提供一种答题卡信息识别方法及系统,旨在用电脑快速识别扫描仪获取的答题卡图像,从中提取出选择题的答案与标准答案对比,并给予相应分数。答题卡中的非选择题,可在电脑中由人工判定给分,并在图像中保存更改痕迹,以便查看。现用的普通扫描仪已经能快速大量获取答题卡图像,而且图像没有形变,但图像有的端正,有的歪斜。本专利技术实施例就是先将歪斜图像修理端正,再从中获取选择题项并给予分数。解决上述问题的方法的科学原理见上述[0004]——[0009]。解决上述问题的前期准备:用Windows画图工具按照指定的规则设计出一种附加矩形框的答题卡模版(见说明书附图1),获取模版扫描后图作为样版(见说明书附图2标记6“采样点”),再用Windows画图工具采集样本中各采样点坐标(定位矩形左上顶点为定位点,其它各采样点见说明书附图2标记6,X,Y值与定位点X,Y值的差)、选择框及移动框的宽和高为参数。还有第二种获取参数的方法见[0069]到[0071]。修整图像:见说明书附图3为一幅歪斜还带有扫描黑边的图像,用CaptureImagePath(stringinName,stringtoPath)函数,将原图上、下、左、右各减少10个像素,去除“黑边”,结果见说明书附图4。publicvoidCaptureImagePath(stringinName,stringtoPath){Image<Gray,byte>image=newImage<Gray,byte>(inName);//设置一个从原图(10,10)为顶点宽和高比原图小20像素的矩形图Rectanglerectangle=newRectangle(10,10,image.Width-20,image.Height-20);//获得剪去了每边10像素的图Image<Gray,byte>Sub=image.GetSubRect(rectangle);Sub.Save(toPath);//保存新图image.Dispose();Sub.Dispose();}。调用获取矩形的方法List<RotatedRect>RectMethod(Image<Bgr,byte>src2)[0017],其中包括使用高斯滤波去除噪声GaussianBlur(grayImage2,grayImage2,newSize(3,3),3)、Canny(grayImage2,cannyEdges,60,180)函数、查找轮廓函数FindContours(cannyEdges,contours,null,RetrType.External,ChainApproxMethod.ChainApproxSimple)来找到歪斜的定位矩形框。...

【技术保护点】
1.使用OpenCV库中的图像矩M00值对填涂有答案的答题卡进行识别、提取并给予分数的方法。/n

【技术特征摘要】
1.使用OpenCV库中的图像矩M00值对填涂有答案的答题卡进行识别、提取并给予分数的方法。


2.使用OpenCV库中矩形的角度属性对图像进行旋转修整的方法。


3.使用OpenCV库中矩形的属性值,中心坐标box.Center、矩形...

【专利技术属性】
技术研发人员:吴勇泉
申请(专利权)人:吴勇泉
类型:发明
国别省市:江西;36

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1