OpenCV+Python+PyQt5 答题卡识别与正确率判断
功能说明
本程序支持对一类固定模板的答题卡进行检测选项、校对答案的功能。用户只需拍摄一张角度偏差较小、亮度适中的答题卡照片,再提供标准答案文件,即可进行答题卡的扫描与答案评测。由于采用了比较简单的检测方法,所以对图片的要求较高,最好在答题卡下面放置一张空白A4纸进行拍照,拍的照片不要有过大角度倾斜,拍到的卡要完整,照片内不要有其他干扰物品。
使用说明
- 确保环境变量中已配置Python3环境,并安装了
cv2
和pyqt5
的依赖包。 - 进入程序目录,运行
excute.py
。 - 选择答题卡图片和标准答案文件后,程序将自动比对答案并给出对错和正确率评判。
python excute.py
文件说明
sheet.py
– 读取/扫描答题卡的功能函数mainwindow.py
– 界面类excute.py
– 启动程序test/
– 存放正常的测试图片和答案文件
在运行过程中,当前目录下可能会出现一些临时生成的JPG文件,这些文件是过程中产生的临时文件。
相关技术
寻找图形轮廓
在寻找一个图形轮廓前,需要先对输入的图片的一个复制进行以下几个操作:
- 转换成灰度图
- 进行高斯模糊以消除噪声、模糊细节
注意事项
- 请确保拍摄的答题卡图片清晰、完整,避免过大角度倾斜。
- 拍摄时最好在答题卡下方放置一张空白A4纸,以减少背景干扰。
- 提供的标准答案文件格式需与程序要求一致。