OpenCVPythonPyQt5 答题卡识别与正确率判断

2021-10-18

OpenCV+Python+PyQt5 答题卡识别与正确率判断

功能说明

本程序支持对一类固定模板的答题卡进行检测选项、校对答案的功能。用户只需拍摄一张角度偏差较小、亮度适中的答题卡照片,再提供标准答案文件,即可进行答题卡的扫描与答案评测。由于采用了比较简单的检测方法,所以对图片的要求较高,最好在答题卡下面放置一张空白A4纸进行拍照,拍的照片不要有过大角度倾斜,拍到的卡要完整,照片内不要有其他干扰物品。

使用说明

  1. 确保环境变量中已配置Python3环境,并安装了cv2pyqt5的依赖包。
  2. 进入程序目录,运行excute.py
  3. 选择答题卡图片和标准答案文件后,程序将自动比对答案并给出对错和正确率评判。
python excute.py

文件说明

  • sheet.py – 读取/扫描答题卡的功能函数
  • mainwindow.py – 界面类
  • excute.py – 启动程序
  • test/ – 存放正常的测试图片和答案文件

在运行过程中,当前目录下可能会出现一些临时生成的JPG文件,这些文件是过程中产生的临时文件。

相关技术

寻找图形轮廓

在寻找一个图形轮廓前,需要先对输入的图片的一个复制进行以下几个操作:

  1. 转换成灰度图
  2. 进行高斯模糊以消除噪声、模糊细节

注意事项

  • 请确保拍摄的答题卡图片清晰、完整,避免过大角度倾斜。
  • 拍摄时最好在答题卡下方放置一张空白A4纸,以减少背景干扰。
  • 提供的标准答案文件格式需与程序要求一致。

下载链接

OpenCVPythonPyQt5答题卡识别与正确率判断