摘要:针对传统答题卡人工阅卷效率低、准确性不足等问题,本文设计并实现了一套基于图像处理技术的智能答题卡识别与评分系统。系统采用 Python 与 OpenCV 对答题卡图像进行灰度化处理、Canny 边缘检测及霍夫变换倾斜校正,并结合轮廓提取与透视变换自动获取答题区域,在此基础上利用气泡重心坐标实现选项定位与识别。系统支持从外部文件读取标准答案,对识别结果进行自动评分和及格判定,界面层面基于 PyQt5 实现图像导入、处理过程可视化、结果展示与保存等功能。
作者:Bob(原创)
环境配置
开发工具:
-- PyCharm的安装包:PyCharm: Python IDE for Professional Developers
-- PyCharm的历史安装包:PyCharm: Python IDE for Professional Developers
-- Anaconda的安装包:Anaconda | Start Coding Immediately
-- Anaconda的历史安装包:Anaconda | Historical Installation Packages
语言环境:Python == 3.12
操作系统:Windows 11
依赖包:
-- pip install numpy==2.2.6
-- pip install opencv-python==4.12.0.8
-- pip install pillow==12.0.
-- pip install PyQt5==5.15.11
-- pip install matplotlib==3.10.7
-- pip install imutils==0.5.4
-- pip install scipy==1.16.3
硬件配置

表1 惠普(HP)暗影精灵10台式整机配置
该系统硬件配置如上,如果您的电脑配置低于下述规格,运行速度可能会与本系统的存在差异,请注意。
项目概述
随着各类标准化考试和客观题测评的广泛开展,传统人工阅卷方式在阅卷效率、评分准确性以及结果管理等方面的局限性日益凸显,难以满足大规模测评对实时性与客观性的要求。针对上述问题,本文基于图像处理技术,设计并实现了一套面向客观题答题卡的智能识别与评分系统,为考试评卷过程的自动化与信息化提供技术支撑。
在关键技术层面,系统以 Python 为开发语言,采用 OpenCV 作为核心图像处理库,首先对采集到的答题卡图像进行灰度化、滤波与 Canny 边缘检测;在此基础上结合霍夫变换完成版面倾斜校正,并通过轮廓提取与透视变换自动定位和裁剪答题卡有效区域。随后,系统利用气泡重心坐标与预设版面布局信息,实现对各题目选项区域的精确定位与填涂状态识别,从而获得完整的作答结果。
在系统实现层面,本文基于 PyQt5 搭建图形用户界面,实现图像导入、预处理过程可视化、识别结果展示及结果文件导出等功能;同时,系统支持从外部标准答案文件自动读取参考答案,对识别结果进行逐题比对与成绩统计,输出总分、错题数、未作答题数以及及格与否的判定。实验结果表明,在典型扫描或拍摄条件下,所构建系统能够稳定完成答题卡版面校正与选项识别,评分结果准确率较高,相较于人工阅卷显著提升了客观题阅卷工作的自动化程度与整体效率,具有一定的实际应用价值和推广前景。
系统设计
系统在设计上采用分层与模块化结构,将图形界面、人机交互、图像处理与成绩统计等功能解耦为相对独立的子模块,通过统一的数据与调用接口完成协同工作,从而兼顾功能完整性、可扩展性与易维护性。

图1 系统整体流程图
运行展示

图2 基于图像处理的智能答题卡识别与评分系统主界面

图3 答案全部答对时的答题卡识别与评分结果界面

图4 答案错误 5 题时的答题卡识别与评分结果界面

图5 答案错误 13 题、未作答 1 题时的答题卡识别与评分结果界面

图6 答案错误 15 题、未作答 4 题时的答题卡识别与评分结果界面

图7 答案错误 7 题、未作答 28 题时的答题卡识别与评分结果界面