本帖最后由 Fullmoonbaka 于 2025-12-1 12:22 编辑
数独求解器
一款基于 Python 的数独解题工具,具有图形界面,支持手动输入模式和屏幕截图 OCR 识别模式。
✨ 功能特性
- 智能求解:采用优化的回溯算法,结合位运算、MRV启发式和约束传播技术,快速求解各种难度的数独
- 图形界面:清晰的 9×9 数独格子,3×3 宫格边界加粗显示
- 截图识别:支持框选屏幕上的数独图片,自动 OCR 识别并填入
- 历史记录:自动保存解题记录,可随时查看和恢复历史结果
🔧 核心算法
数独求解器采用多种优化策略:
- 位运算优化:使用位集合记录行/列/宫格已使用的数字,实现 O(1) 时间复杂度的约束检查
- MRV 启发式:优先选择候选数字最少的空格进行填充,减少回溯次数
- 约束传播:自动填充只有唯一候选的格子,减少搜索空间
软件界面:
数独求解器-页面
使用效果图:
数独求解器-使用2
使用说明:
普通使用可以手动填入数字,
如果使用截取屏幕OCR识别的模式,确保你截取的图像尽量只包含完整的数独图像,这样才能更好的识别!!!
(使用效果图中,我也是在尽可能的贴着数独格子的边来截的
另:关于OCR识别数字自动填到格子的功能,
我的实现方式是把截取的大图像切割成9*9的小图像,
每个小图像都进行一次OCR识别,
检测到数字的话就填到对应的格子里,
因此需要截取的时候注意尽量不要多截或者少截图像,
我个人使用下来,只要截取图像时候偏差不大就不会出问题
查毒结果:
数独求解器-查毒结果
查毒报告:https://www.virscan.org/report/2f178efd023e62638b6271b1d5a6f886a0a2b8103ea88e150b26560c5187aaad
源码地址:
https://gitee.com/fullzoon/sudoku-solver
下载地址:
https://wwdm.lanzouo.com/isZjs3ca8h2d
密码:52pj
感谢使用,有bug可以在评论里反馈! |