答题卡识别效果 在这里插入图片描述 【大致思路】:先进行仿射变换去除背景(只留试卷部分),二值化,圆形轮廓检测,遍历每一行选项,统计非零像素,记录填充选项(即非零像素最多的轮廓区域),与正确答案进行比对,正确则correct数+1,得到总成绩 1-4 基础操作+透视变换 1-4是基础操作, 3是做近似变换, 取最大的那个轮廓,最有可能是图像最大外围的轮廓 3的近似变换 和 4的透视变换原理 可以参考我的 OCR文档扫描实战 5-6 阈值处理+轮廓检测 5.Otsu’s 阈值处理 THRESH_OTSU会自动寻找合适的阈值,适合双峰,需把阈值参数设置为0 在我的信用卡数字识别案例中出现也有应用(第三、五部分) 6.然后怎么区分涂和没涂的圆? 这里不用霍夫变换,因为有些涂完后 会突出边界,如下 7-8 筛选答题圈 7.遍历所有圆圈轮廓(包括干扰项) 筛选出答题区域的圆,其轮廓存于questionCnts 无论是圆形还是矩形的答题卡,都是规则的形状,比例相同. 所以这里要人工设定圆圈外接矩形的长宽比例 参考信用卡数字识别 (第四部分) 8.按照从上到下(从左到右)进行排序 参考信用卡数字识别 (第二部分) 9.每行的5个选项 分别比对正确答案 答题圈的轮廓questionCnts长度应为25, 间隔5, 可以遍历5次, 则 q 取0 1 […]