寻找文字定位点
水平投影
获取投影柱条
二值化获取文字行
获取文字行之间的跨度
文字行与下边界跨度
作答区域获取
文字行之间存在较大跨度,此区域为作答区域
若无法获取,将二值化阈值改小
小阈值没有文字行,认为整个区域为作答区域
作答区域调整
检测作答区域的直线
横直线:图像下边界直线,调整作答纵向区域
横直线间距:答题区域一行高度
竖直线:去除作答区域边界的边框竖直线,调整水平区域
作答区域分为:有下划横线样式,无下划横线样式
去除作答区域存在的短小文字题目块
水平投影
垂直投影
区域适当放大
找不到投影,直接将漏掉的短小文字块的最大者作为题目模板
作答检测
扩展学生roi
倾斜矫正
模板匹配文字定位点
还原学生roi区域
去除短小文字块
切割学生作答区域
去噪
水平投影,获取长文字条
有长文字条,已作答
无文字条
下划线型
无下划线
直线检测
分割每行作答条
去除孤立点
检测特征点
去除直线上的特征点
对剩余特征点汇聚
滑动窗口汇聚值大于阈值
有作答,否则无作答
轮廓检测
宽高
黑占比条件
满足有作答
轮廓扩展后内容检测,检测特征点