Python

答题卡识别项目实战

答题卡识别效果 在这里插入图片描述 【大致思路】:先进行仿射变换去除背景(只留试卷部分),二值化,圆形轮廓检测,遍历每一行选项,统计非零像素,记录填充选项(即非零像素最多的轮廓区域),与正确答案进行比对,正确则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 […]

blueidea

python爬取试题信息-保存文本并利用正则表达式获取指定字段并保存mysql数据库

原文链接:https://blog.csdn.net/weixin_44648900/article/details/105196981 疫情期间无聊突发奇想想要做一个在线考试系统,目前已完成数据库设计,开始编写爬虫爬取试题数据,目标网站如下,获取内容包括:考点,试题,答案选项,答案,解析。考点字段的获取便于以后系统个性化推荐的需要。🚔 去除网页里获取时候遇到的脏数据 查看网页的时候发现这个东西,可能是他们后台有其他用途,由于直接匹配字段不方便,先把所有网页文本先获取再把class为this_jammer等中内容获取为停用词表,爬取的试题文本去掉这些脏数据就OK了。 下面保存脏数据表的函数 运行初步结果如下: 对文本进行正则匹配获取文本指定字段并保存到数据库 最后结果:

blueidea