本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。
一、项目描述
Python + Flask + OpenCV 的数独图像自动识别与求解系统
本项目是一个基于 Python + Flask + OpenCV 的数独图像自动识别与求解系统。用户通过 Web 页面上传数独图片,系统自动完成「图像预处理 → 网格分割 → 数字识别 → 回溯求解 → 结果可视化」全流程,并提供手动修正、冲突检测、KNN 歧义提示、调试叠加图等辅助功能,帮助用户在识别不准确时快速定位和修正。
二、项目功能
图片上传 支持 PNG/JPG/JPEG/BMP 格式,最大 16MB
自动识别 自动检测数独网格边界(而非整张图),KNN 分类器识别每个格子的数字
智能求解 回溯算法求解,带冲突预检和尝试次数上限保护,避免死循环
KNN 歧义提示 Top3 最近邻距离差 <15% 的格子标黄,双击查看 OCR 切图 + 候选数字
三、运行环境
Python 3.13+
OpenCV 4.13.0
NumPy 2.1.3
Flask 最新版(Python 轻量 Web 框架)
浏览器 Chrome/Edge/Firefox 现代版本
端口 默认 8765
四、项目技术
Python + Flask + OpenCV
以上系统源码经过技术整理与调试,确保能正常运行
五、项目截图