CN113283275B - 基于opencv的机读卡自动评分系统、方法及存储介质 - Google Patents

基于opencv的机读卡自动评分系统、方法及存储介质 Download PDF

Info

Publication number
CN113283275B
CN113283275B CN202011581848.XA CN202011581848A CN113283275B CN 113283275 B CN113283275 B CN 113283275B CN 202011581848 A CN202011581848 A CN 202011581848A CN 113283275 B CN113283275 B CN 113283275B
Authority
CN
China
Prior art keywords
machine
readable
option
image
readable card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011581848.XA
Other languages
English (en)
Other versions
CN113283275A (zh
Inventor
田丹
银虹宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Precision Cloud Technology Co ltd
University of Electronic Science and Technology of China
Original Assignee
Chengdu Precision Cloud Technology Co ltd
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Precision Cloud Technology Co ltd, University of Electronic Science and Technology of China filed Critical Chengdu Precision Cloud Technology Co ltd
Priority to CN202011581848.XA priority Critical patent/CN113283275B/zh
Publication of CN113283275A publication Critical patent/CN113283275A/zh
Application granted granted Critical
Publication of CN113283275B publication Critical patent/CN113283275B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • G06T5/30Erosion or dilatation, e.g. thinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30176Document

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

本发明涉及埋点采集相关技术领域,具体涉及一种基于日志的iOS应用程序埋点采集方法及装置。本申请提供的基于opencv的机读卡自动评分系统,包括:机读卡描述脚本配置模块,机读卡评分模块;所述机读卡描述脚本用于为用户提供可视化交互界面,供用户通过操作浏览器自定义机读卡描述脚本;所述机读卡评分模块通过qt框架实现对所述机读卡描述脚本进行解析,并对机读卡或者包含机读区域的试卷扫描文件进行机读卡评分。本发明结合opencv实现的机读卡评分系统可以通过操作浏览器实现对机读卡和实体的描述并通过qt框架实现的windows端左面程序进行机读卡的评分。

Description

基于opencv的机读卡自动评分系统、方法及存储介质
技术领域
本发明涉及图像识别领域,特别涉及基于opencv的机读卡自动评分系统、方法及存储介质。
背景技术
目前线上阅卷领域已经有很多成熟的机读卡评分系统,在全国各种重大考试当中得到了广泛的使用。他们的主要共同点都是,在机读卡上设置特定标定块,使用光标机通过标定块寻找特定区域的答题内容,再进行评分。这种机读卡识别方式一方面是收到设备的制约,只有在大型统一考试中才能使用,普通中学没有光标机就不能再普通考试中使用。另一方面,各个厂家的答题卡虽然使用的方法大致相同,但是不同的机读卡不能通用。
发明内容
有鉴于此,提供一基于opencv的机读卡自动评分系统、方法及存储介质,以解决相关技术中机读卡自动评分系统及方法,无法兼容多类型的机读卡,并让用户可以用户可在没有大型设备的情况下,在普通考试中进行机读卡自动评分的问题。
本发明采用如下技术方案:
第一方面,本申请提供一种基于opencv的机读卡自动评分系统,包括:机读卡描述脚本配置模块,机读卡评分模块;
所述机读卡描述脚本用于为用户提供可视化交互界面,供用户通过操作浏览器自定义机读卡描述脚本;
所述机读卡评分模块通过qt框架实现对所述机读卡描述脚本进行解析,并对机读卡或者包含机读区域的试卷扫描文件进行机读卡评分。
可选的,所述机读卡描述脚本配置模块是基于springBoot框架所实现的web 系统;所述机读卡描述脚本配置模块包括机读区域配置子模块、机读规则配置子模块和评分规则配置子模块三个子模块;
可选的,所述机读区域配置子模块所配置的参数包括:试卷扫描文件的宽高、试卷机读答题区域的宽高、试卷机读答题区域的左上角原点在试卷扫描文件中的坐标。
可选的,所述机读规则配置子模块所配置的参数包括:x轴标定块的数量和相对答题区域的位置、y轴标定块的数量和相对答题区域的位置、答题块的增长方向、答题块内的题目增长方向、每个答题块内包含的题目数量、每个题目的答案数量、题目序号对应标定块的数量、答题块间间隔对应标定块的数量、题目的总数量、答题区左上角原点相对于标定块的坐标。
可选的,所述评分规则配置子模块所配置的参数为题目参数的数据集;所述题目参数的数据集包括:题目序号、题目类型、题目答案、题目分值、多选题半对得分值。
可选的,所述机读卡评分模块包括:评分算法模块和opencv图像处理模块。
评分算法模块对机读卡描述脚本进行解析,并通过描述脚本调用所述 opencv图像处理模块对图像进行相应的处理并获得分数结果。
可选的,评分算法模块用于执行如下步骤:
通过机读区域参数调用opencv图像处理模块对图像进行剪切,得到机读区域图像;
调用opencv图像处理模块对图像进行预处理,获得标定块和答题涂写块的闭合外轮廓区域,并去除图像杂质,去除干扰像素点;获得图像中所有闭合区域的图形集合T[T1,T2,…Tn],其中每个闭合区域的描述方式为{x,y,w,h},x为左上角像素的x坐标,y为左上角像素的y坐标,w为区域的宽度,h为区域的高度;
根据机读规则参数,从集合T[T1,T2,…Tn]获取x标定块和y标定块集合 X[XMark1,XMark2,XMark3…XMarkn],Y[YMark1,YMark2,YMark3…YMarkm],其中n为x标定块的个数,m为y标定块的个数;
根据机读规则参数,构造题目选项和标定块之间的对应关系集合 Q[Q1[Option1,Option2…Optionj],Q2[Option1,Option2…Optionj],… Qi[Option1,Option2…Optionj]]其中i为题目的个数,j为每个题目的选项数Option 为题目某一选项的所对应的色块由{x,y,w,h}描述,x为左上角像素的x坐标,y为左上角像素的y坐标,w为区域的宽度,h为区域的高度;其中
Option.x=XMark.x
Option.y=YMark.y
Option.w=Xmark.w
Option.h=Ymark.h
XMark,YMark为Option在x轴和Y轴对应的标定块;
计算每个Option区域的色值,如果为0则代表考生没有涂写记0,如果大于0则代表考生涂写记1,获得每个题目每个选项的涂写情况;得到集合Q[Q1[0,0…1],Q2[1,1…0],…Qi[1,0…0]],其中i为题目的个数;
根据答案字符串数组AStr[A,B,C,D,E,F,G,H,I],和上一步得到的Q集合,对应每个选项数组值为1的下标,将选项色值数组转化为答案字符串集合A[A1,A2… Ai]。i为题目个数。A1字符串构造方法为,如果Qi[j]=0则不做处理,如果Qi[j] =1则Ai=Ai+AStr[j]。循环遍历i和j;
将答案字符串数组与答案配置参数中的答案进行比对,并更具每道题的类型、分值、半对分值,得到分数数组S[S1,S2,…Si]。
可选的,所述调用opencv图像处理模块对图像进行预处理,
将图像转化为灰度图;
对转化后的图像进行高斯平滑滤波;
对图像二值化处理;
克隆图像作为Option区域色值计算的图像源;
继续对图像进行膨胀处理;
获取膨胀过后色块的外轮廓;
计算各个色块的面积;
删除小于色块面积平均值0.2倍的色块,去除杂质,此时的图像用于获取标定块;
第二方面,本申请提供一种基于opencv的机读卡自动评分方法,包括:
基于预设的机读卡描述脚本配置模块,进行评分配置;
基于配置的信息,进行机读区域剪切获得机读区域图像;
基于配置的信息,对机读区域图像进行预处理;
基于配置的信息,获取所述机读区域图像中的标定块;
基于配置的信息,确定答题选项区域;
基于配置的信息,进行答题选项区域值计算;
基于配置的信息,进行题目答案字符串的构造;
基于配置的信息,进行得分计算。
第三方面,本申请提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如本申请第二方面所述的基于opencv 的机读卡自动评分方法中各个步骤。
本发明的有益效果是:通过机读描述脚本配置模块和机读卡评分模块的配合,通过改变配置信息,可以实现对不同种类机读卡的自动阅卷。本文采用可视化交互界面为用户实现机读卡描述文件配置模块,使用QT框架为用户实现机读卡评分模块,使用户可以在个人办公电脑上实现机读卡自动阅卷,而不用借助大型光标机设备,进而使机读卡自动阅卷全面覆盖学校的普通考试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于opencv的机读卡自动评分系统架构图;
图2是本发明实施例提供的一种图像预处理流程图;
图3是本发明实施例提供的一种基于opencv的机读卡自动评方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
首先对本发明实施例的应用场景进行说明,目前线上阅卷领域已经有很多成熟的机读卡评分系统,在全国各种重大考试当中得到了广泛的使用。他们的主要共同点都是,在机读卡上设置特定标定块,使用光标机通过标定块寻找特定区域的答题内容,再进行评分。这种机读卡识别方式一方面是收到设备的制约,只有在大型统一考试中才能使用,普通中学没有光标机就不能再普通考试中使用。另一方面,各个厂家的答题卡虽然使用的方法大致相同,但是不同的机读卡不能通用。本申请针对上述问题提出了对应的解决方案。
实施例
图1是本发明实施例提供的一种基于opencv的机读卡自动评分系统架构图;图2是本发明实施例提供的一种图像预处理流程图;参照图1和图2,本申请提供的基于opencv的机读卡自动评分系统包括:
机读卡描述脚本配置模块1,机读卡评分模块2;
所述机读卡描述脚本用于为用户提供可视化交互界面,供用户通过操作浏览器自定义机读卡描述脚本;
所述机读卡评分模块2通过qt框架实现对所述机读卡描述脚本进行解析,并对机读卡或者包含机读区域的试卷扫描文件进行机读卡评分。
进一步的所述机读卡描述脚本配置模块1是基于springBoot框架所实现的 web系统;所述机读卡描述脚本配置模块1包括机读区域配置子模块、机读规则配置子模块和评分规则配置子模块三个子模块;
具体的,进一步的,所述机读区域配置子模块所配置的参数包括1、试卷扫描文件的宽高,2、试卷机读答题区域的宽高,3、试卷机读答题区域的左上角原点在试卷扫描文件中的坐标。
进一步的,所述机读规则配置子模块所配置的参数包括1、x轴标定块的数量和相对答题区域的位置(上方或者下方),2、y轴标定块的数量和相对答题区域的位置(左方或者右方),3、答题块的增长方向(x或者y),4、答题块内的题目增长方向(x或者y),5、每个答题块内包含的题目数量,6、每个题目的答案数量,7、题目序号对应标定块的数量,8、答题块间间隔对应标定块的数量,9、题目的总数量,10、答题区左上角原点相对于标定块的坐标。
进一步的,所述评分规则配置子模块所配置的参数为题目参数的数据集,每条数据包括:1、题目序号,2、题目类型(单选或多选),3、题目答案,4、题目分值,5、多选题半对得分值。
具体的,所述机读卡描述脚本配置模块1用于为用户提供可视化界面。主要特点如下:
1、机读区域配置模块设计了包括试卷模板上传和机读区域框选功能,让用户通过鼠标框选的方式配置机读区域。
2、配置机读规则时,为用户实时生成规则对应的机读卡预览图,方便用户查看配置是否正确,是否和试卷模板对应。
同时为了存储机读卡描述脚本文件,本系统设计了存储由各项参数的数据结构,其中用于存储机读区域的数据结构如下:
Figure BDA0002864601540000071
由x坐标,y坐标,机读区域宽度,机读区域高度组成,均以像素为单位,参考系为整个试卷文件。机读评分模块会根据这些参数切割出机读区域图像,并进行图像预处理。
存放机读规则的数据结构rule如下所示:
Figure BDA0002864601540000072
Figure BDA0002864601540000081
主要由x方向标记块数量(xMarkCount)、y方向标记快数量(yMarkCount)、 /x标定块位置(xMarkDirec)、任务y标定块位置(yMarkDirec)、x方向块间隔标块数量(xDiffMarkNum)、y方向块间隔标记数量(yDiffMarkNum)、题号标记块数量(serialMark)、选项标记块数量(optionMark)、零点标记(zeroMark[2])、题数量(quesNum)、选项数量(optionNum)、块内题数(quesInBlock)、块内题方向(quesDirec)组成。机读评分模块会根据这些参数识别出考生的答案。
存放试题答案的数据结构answer如下:
Figure BDA0002864601540000082
主要由题目序号(index)、试题答案(answer)、题目分值(score)、答题模式(mode)、半对分数(halfScore),机读评分模块会根据这些参数计算出考生的分数。
实施例选取mySql数据库实现数据持久化。
基于以上的系统,实施例的工作方法包括如下步骤:
机读卡描述脚本配置模块1提供的web系统进行配置,并将脚本存储于数据持久化模块3中。
机读卡评分模块2通过对机读卡描述脚本的解析,实现对机读卡的评分。
数据持久化模块3将评分数据进行处理,存储于mySql数据库中。
进一步的,所述机读卡评分模块2包括:评分算法模块和opencv图像处理模块。
评分算法模块对机读卡描述脚本进行解析,并通过描述脚本调用所述 opencv图像处理模块对图像进行相应的处理并获得分数结果。
具体的,评分算法模块用于执行如下步骤:
通过机读区域参数调用opencv图像处理模块对图像进行剪切,得到机读区域图像;
调用opencv图像处理模块对图像进行预处理,获得标定块和答题涂写块的闭合外轮廓区域,并去除图像杂质,去除干扰像素点;获得图像中所有闭合区域的图形集合T[T1,T2,…Tn],其中每个闭合区域的描述方式为{x,y,w,h},x为左上角像素的x坐标,y为左上角像素的y坐标,w为区域的宽度,h为区域的高度;
根据机读规则参数,从集合T[T1,T2,…Tn]获取x标定块和y标定块集合 X[XMark1,XMark2,XMark3…XMarkn],Y[YMark1,YMark2,YMark3…YMarkm],其中n为x标定块的个数,m为y标定块的个数;
根据机读规则参数,构造题目选项和标定块之间的对应关系集合 Q[Q1[Option1,Option2…Optionj],Q2[Option1,Option2…Optionj],… Qi[Option1,Option2…Optionj]]其中i为题目的个数,j为每个题目的选项数Option 为题目某一选项的所对应的色块由{x,y,w,h}描述,x为左上角像素的x坐标,y为左上角像素的y坐标,w为区域的宽度,h为区域的高度;其中
Option.x=XMark.x
Option.y=YMark.y
Option.w=Xmark.w
Option.h=Ymark.h
XMark,YMark为Option在x轴和Y轴对应的标定块;
计算每个Option区域的色值,如果为0则代表考生没有涂写记0,如果大于0则代表考生涂写记1,获得每个题目每个选项的涂写情况;得到集合 Q[Q1[0,0…1],Q2[1,1…0],…Qi[1,0…0]],其中i为题目的个数;
根据答案字符串数组AStr[A,B,C,D,E,F,G,H,I],和上一步得到的Q集合,对应每个选项数组值为1的下标,将选项色值数组转化为答案字符串集合A[A1,A2… Ai]。i为题目个数。A1字符串构造方法为,如果Qi[j]=0则不做处理,如果Qi[j] =1则Ai=Ai+AStr[j]。循环遍历i和j;
将答案字符串数组与答案配置参数中的答案进行比对,并更具每道题的类型、分值、半对分值,得到分数数组S[S1,S2,…Si]。
其中,所述调用opencv图像处理模块对图像进行预处理,包括:
S21,将图像转化为灰度图;
S22,对转化后的图像进行高斯平滑滤波;
S23,对图像二值化处理;
S24,克隆图像作为Option区域色值计算的图像源;
S25,继续对图像进行膨胀处理;
S26,获取膨胀过后色块的外轮廓;
S27,计算各个色块的面积;
S28,删除小于色块面积平均值0.2倍的色块,去除杂质,此时的图像用于获取标定块;
综上所述,由于目前的机读卡评分系统只能针对特定的机读卡格式进行评分,且依托于大型光标机设备用户难以理解和使用。本发明结合opencv实现的机读卡评分系统可以通过操作浏览器实现对机读卡和实体的描述并通过qt框架实现的windows端左面程序进行机读卡的评分。通过机读描述脚本配置模块和机读卡评分模块的配合,可以实现对不同种类机读卡的自动阅卷。本文采用 Web框架为用户实现机读卡描述文件配置模块,使用QT框架为用户实现机读卡评分模块,使用户可以在个人办公电脑上实现机读卡自动阅卷,而不用借助大型光标机设备,进而使机读卡自动阅卷全面覆盖学校的普通考试。
图3是本发明实施例提供的一种基于opencv的机读卡自动评方法流程图。参照图3,本申请还太公一种基于opencv的机读卡自动评分方法,包括:
S31,基于预设的机读卡描述脚本配置模块,进行评分配置;
S32,基于配置的信息,进行机读区域剪切获得机读区域图像;
S33,基于配置的信息,对机读区域图像进行预处理;
S34,基于配置的信息,获取所述机读区域图像中的标定块;
S35,基于配置的信息,确定答题选项区域;
S36,基于配置的信息,进行答题选项区域值计算;
S37,基于配置的信息,进行题目答案字符串的构造;
S38,基于配置的信息,进行得分计算。
本申请存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如本申请实施例所述的基于opencv的机读卡自动评分方法中各个步骤。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA) 等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (7)

1.一种基于opencv的机读卡自动评分系统,其特征在于,包括: 机读卡描述脚本配置模块,机读卡评分模块;
所述机读卡描述脚本用于为用户提供可视化交互界面,供用户通过操作浏览器自定义机读卡描述脚本;
所述机读卡评分模块通过qt框架实现对所述机读卡描述脚本进行解析,并对机读卡或者包含机读区域的试卷扫描文件进行机读卡评分;
所述机读卡描述脚本配置模块是基于springBoot框架所实现的web系统;所述机读卡描述脚本配置模块包括机读区域配置子模块、机读规则配置子模块和评分规则配置子模块三个子模块;
所述机读卡评分模块包括:评分算法模块和opencv图像处理模块;
评分算法模块对机读卡描述脚本进行解析,并通过描述脚本调用所述opencv图像处理模块对图像进行相应的处理并获得分数结果;
评分算法模块用于执行如下步骤:
通过机读区域参数调用opencv图像处理模块对图像进行剪切,得到机读区域图像;
调用opencv图像处理模块对图像进行预处理,获得标定块和答题涂写块的闭合外轮廓区域,并去除图像杂质,去除干扰像素点;获得图像中所有闭合区域的图形集合T[T1,T2,…Tn],其中每个闭合区域的描述方式为{x,y,w,h},x为左上角像素的x坐标,y为左上角像素的y坐标,w为区域的宽度,h为区域的高度;
根据机读规则参数,从集合T[T1,T2,…Tn]获取x标定块和y标定块集合X[XMark1,XMark2, XMark3…XMarkn], Y[YMark1, YMark2, YMark3…YMarkm],其中n为x标定块的个数,m为y标定块的个数;
根据机读规则参数,构造题目选项和标定块之间的对应关系集合Q[Q1[Option1,Option2…Optionj],Q2[Option1,Option2…Optionj],…Qi[Option1,Option2…Optionj]]其中i为题目的个数,j为每个题目的选项数Option为题目某一选项的所对应的色块由{x,y,w,h}描述,x为左上角像素的x坐标,y为左上角像素的y坐标,w为区域的宽度,h为区域的高度;其中
Option.x = XMark.x
Option.y = YMark.y
Option.w = Xmark.w
Option.h = Ymark.h
XMark,YMark为Option在x轴和Y轴对应的标定块;
计算每个Option区域的色值,如果为0则代表考生没有涂写记0,如果大于0则代表考生涂写记1,获得每个题目每个选项的涂写情况;得到集合Q[Q1[0,0…1],Q2[1,1…0],…Qi[1,0…0]],其中i为题目的个数;
根据答案字符串数组AStr[A,B,C,D,E,F,G,H,I],和上一步得到的Q集合,对应每个选项数组值为1的下标,将选项色值数组转化为答案字符串集合A[A1,A2…Ai];i为题目个数;A1字符串构造方法为,如果Qi[j] = 0则不做处理,如果Qi[j] = 1则Ai = Ai + AStr[j];循环遍历i和j;
将答案字符串数组与答案配置参数中的答案进行比对,并更具每道题的类型、分值、半对分值,得到分数数组S[S1,S2,…Si]。
2.根据权利要求1所述基于opencv的机读卡自动评分系统,其特征在于,所述机读区域配置子模块所配置的参数包括:试卷扫描文件的宽高、试卷机读答题区域的宽高、试卷机读答题区域的左上角原点在试卷扫描文件中的坐标。
3.根据权利要求1所述基于opencv的机读卡自动评分系统,其特征在于,所述机读规则配置子模块所配置的参数包括:x轴标定块的数量和相对答题区域的位置、y轴标定块的数量和相对答题区域的位置、答题块的增长方向、答题块内的题目增长方向、每个答题块内包含的题目数量、每个题目的答案数量、题目序号对应标定块的数量、答题块间间隔对应标定块的数量、题目的总数量、答题区左上角原点相对于标定块的坐标。
4.根据权利要求1所述基于opencv的机读卡自动评分系统,其特征在于,所述评分规则配置子模块所配置的参数为题目参数的数据集;所述题目参数的数据集包括:题目序号、题目类型、题目答案、题目分值、多选题半对得分值。
5.根据权利要求1所述基于opencv的机读卡自动评分系统,其特征在于,所述调用opencv图像处理模块对图像进行预处理,包括:
将图像转化为灰度图;
对转化后的图像进行高斯平滑滤波;
对图像二值化处理;
克隆图像作为Option区域色值计算的图像源;
继续对图像进行膨胀处理;
获取膨胀过后色块的外轮廓;
计算各个色块的面积;
删除小于色块面积平均值0.2倍的色块,去除杂质,此时的图像用于获取标定块。
6.一种基于opencv的机读卡自动评分方法,其特征在于,包括:
基于预设的机读卡描述脚本配置模块,进行评分配置;
基于配置的信息,进行机读区域剪切获得机读区域图像;
基于配置的信息,对机读区域图像进行预处理;
基于配置的信息,获取所述机读区域图像中的标定块;
基于配置的信息,确定答题选项区域;
基于配置的信息,进行答题选项区域值计算;
基于配置的信息,进行题目答案字符串的构造;
基于配置的信息,进行得分计算;
所述机读卡描述脚本配置模块是基于springBoot框架所实现的web系统;所述机读卡描述脚本配置模块包括机读区域配置子模块、机读规则配置子模块和评分规则配置子模块三个子模块;
所述机读卡评分模块包括:评分算法模块和opencv图像处理模块;
评分算法模块对机读卡描述脚本进行解析,并通过描述脚本调用所述opencv图像处理模块对图像进行相应的处理并获得分数结果;
评分算法模块用于执行如下步骤:
通过机读区域参数调用opencv图像处理模块对图像进行剪切,得到机读区域图像;
调用opencv图像处理模块对图像进行预处理,获得标定块和答题涂写块的闭合外轮廓区域,并去除图像杂质,去除干扰像素点;获得图像中所有闭合区域的图形集合T[T1,T2,…Tn],其中每个闭合区域的描述方式为{x,y,w,h},x为左上角像素的x坐标,y为左上角像素的y坐标,w为区域的宽度,h为区域的高度;
根据机读规则参数,从集合T[T1,T2,…Tn]获取x标定块和y标定块集合X[XMark1,XMark2, XMark3…XMarkn], Y[YMark1, YMark2, YMark3…YMarkm],其中n为x标定块的个数,m为y标定块的个数;
根据机读规则参数,构造题目选项和标定块之间的对应关系集合Q[Q1[Option1,Option2…Optionj],Q2[Option1,Option2…Optionj],…Qi[Option1,Option2…Optionj]]其中i为题目的个数,j为每个题目的选项数Option为题目某一选项的所对应的色块由{x,y,w,h}描述,x为左上角像素的x坐标,y为左上角像素的y坐标,w为区域的宽度,h为区域的高度;其中
Option.x = XMark.x
Option.y = YMark.y
Option.w = Xmark.w
Option.h = Ymark.h
XMark,YMark为Option在x轴和Y轴对应的标定块;
计算每个Option区域的色值,如果为0则代表考生没有涂写记0,如果大于0则代表考生涂写记1,获得每个题目每个选项的涂写情况;得到集合Q[Q1[0,0…1],Q2[1,1…0],…Qi[1,0…0]],其中i为题目的个数;
根据答案字符串数组AStr[A,B,C,D,E,F,G,H,I],和上一步得到的Q集合,对应每个选项数组值为1的下标,将选项色值数组转化为答案字符串集合A[A1,A2…Ai];i为题目个数;A1字符串构造方法为,如果Qi[j] = 0则不做处理,如果Qi[j] = 1则Ai = Ai + AStr[j];循环遍历i和j;
将答案字符串数组与答案配置参数中的答案进行比对,并更具每道题的类型、分值、半对分值,得到分数数组S[S1,S2,…Si]。
7.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求6所述的基于opencv的机读卡自动评分方法中各个步骤。
CN202011581848.XA 2020-12-28 2020-12-28 基于opencv的机读卡自动评分系统、方法及存储介质 Active CN113283275B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011581848.XA CN113283275B (zh) 2020-12-28 2020-12-28 基于opencv的机读卡自动评分系统、方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011581848.XA CN113283275B (zh) 2020-12-28 2020-12-28 基于opencv的机读卡自动评分系统、方法及存储介质

Publications (2)

Publication Number Publication Date
CN113283275A CN113283275A (zh) 2021-08-20
CN113283275B true CN113283275B (zh) 2022-04-12

Family

ID=77275377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011581848.XA Active CN113283275B (zh) 2020-12-28 2020-12-28 基于opencv的机读卡自动评分系统、方法及存储介质

Country Status (1)

Country Link
CN (1) CN113283275B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160075040A (ko) * 2014-12-19 2016-06-29 주식회사 컴퍼니원헌드레드 웹브라우저의 오픈씨브이 구현 방법
CN107240049A (zh) * 2017-05-10 2017-10-10 中国科学技术大学先进技术研究院 一种沉浸式环境中远程动作教学质量的自动评价方法和系统
CN110120957A (zh) * 2019-06-03 2019-08-13 浙江鹏信信息科技股份有限公司 一种基于智能评分机制的安全处置数字孪生方法及系统
CN110650671A (zh) * 2015-11-23 2020-01-03 梅奥医学教育和研究基金会 处理用于分析物评估的生理电数据
CN110955414A (zh) * 2019-11-29 2020-04-03 电子科技大学 自定义数据采集系统及方法
CN111144251A (zh) * 2019-12-17 2020-05-12 广东德诚大数据科技有限公司 一种基于图像采集的自动化扫描识别系统
CN112101058A (zh) * 2020-08-17 2020-12-18 武汉诺必答科技有限公司 一种试卷条码自动识别方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160075040A (ko) * 2014-12-19 2016-06-29 주식회사 컴퍼니원헌드레드 웹브라우저의 오픈씨브이 구현 방법
CN110650671A (zh) * 2015-11-23 2020-01-03 梅奥医学教育和研究基金会 处理用于分析物评估的生理电数据
CN107240049A (zh) * 2017-05-10 2017-10-10 中国科学技术大学先进技术研究院 一种沉浸式环境中远程动作教学质量的自动评价方法和系统
CN110120957A (zh) * 2019-06-03 2019-08-13 浙江鹏信信息科技股份有限公司 一种基于智能评分机制的安全处置数字孪生方法及系统
CN110955414A (zh) * 2019-11-29 2020-04-03 电子科技大学 自定义数据采集系统及方法
CN111144251A (zh) * 2019-12-17 2020-05-12 广东德诚大数据科技有限公司 一种基于图像采集的自动化扫描识别系统
CN112101058A (zh) * 2020-08-17 2020-12-18 武汉诺必答科技有限公司 一种试卷条码自动识别方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Expression Tracking with OpenCV Deep Learning for a Development of Emotionally Aware Chatbots;Karmelo Antonio Lazaro R. Carranza等;《网页在线公开:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8932852》;20191216;第1-4页 *
基于OpenCV技术的纸质卷面客观题评分系统的实现;吕子燕等;《电脑与信息科技技术》;20200814;第28卷(第4期);第23-26页 *
基于大数据的高考志愿推荐系统的设计与实现;银虹宇;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180915;第1-58页 *

Also Published As

Publication number Publication date
CN113283275A (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
US6031539A (en) Facial image method and apparatus for semi-automatically mapping a face on to a wireframe topology
US8121408B2 (en) Image processing method and apparatus for face image
CN106682424A (zh) 医学图像的调节方法及其系统
CN104794479B (zh) 基于局部笔画宽度变换的自然场景图片中文本检测方法
EP0593028A1 (en) Color image processing method and apparatus for same
CN108363604A (zh) 一种分辨率适配方法、装置及业务系统
US7931602B2 (en) Gaze guidance degree calculation system, gaze guidance degree calculation program, storage medium, and gaze guidance degree calculation method
CN107516319A (zh) 一种高精度简易交互式抠图方法、存储设备及终端
CN111258433A (zh) 基于虚拟场景的教学互动系统
DE102018003475A1 (de) Formbasierte Grafiksuche
CN108805825A (zh) 一种重定位图像质量评价方法
CN110765995A (zh) 一种答题卡生成方法、识别方法、装置及存储介质
CN113723264A (zh) 一种用于辅助钢琴教学的智能识别弹奏错误的方法及系统
CN115933930A (zh) 教育元宇宙中学习对象的注意力分析方法、终端及装置
CN110910348B (zh) 一种肺结节的位置分类方法、装置、设备及存储介质
CN113283275B (zh) 基于opencv的机读卡自动评分系统、方法及存储介质
CN110334255A (zh) 天气形势显示方法、装置、电子设备及存储介质
CN105678208B (zh) 提取人脸纹理的方法及装置
CN112132750B (zh) 一种视频处理方法与装置
CN110414517A (zh) 一种用于配合拍照场景的快速高精度身份证文本识别算法
JP2004228995A (ja) 画像トリミング装置、画像のトリミング方法、及びプログラム
CN210038810U (zh) 智能评测设备及系统
CN107274388A (zh) 一种基于全局信息的无参考屏幕图像质量评价方法
CN105389842B (zh) 基于选择区域的纹理模型简化方法
JP2020140659A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant