一般答题卡设计时都在试卷4个角预留4个一样大小的黑块
仅能识别选择题判断题之类的填涂答题的题目,不能识别填空题应用题等其它主观题
使用 opencv 识别试卷图片中所有黑块,再根据黑块大小获取四个角的位置,根据四个黑块位置校正图像
将图像转成灰度图
Cv2.CvtColor(imgOrg, dst, ColorConversionCodes.BGR2GRAY);
对图像黑白增强处理
Cv2.Threshold(dst, dst, 160, 255, ThresholdTypes.Binary);
查找所有黑块包括黑块大小位置等信息
Cv2.FindContours(dst, out contours, out hierarchies, RetrievalModes.List, ContourApproximationModes.ApproxNone);
查找四角黑块的位置,根据黑块位置矫正图像并分析答案
答题卡校正前图像矫正前
答题卡图像矫正后
再根据每道题的位置识别区域内涂写的答案在区域内的位置