关键词:   sudoku      计算机视觉    数独   python

来源于于一张 视觉库 里的数独图片。 经过一段时间探索 终于识别出数字 并解出数独。转载请注明出处https://blog.csdn.net/onEMind8/article/details/79737564。

简单说,一张数独图片  利用opencv 在python  环境下快速解出数独题。

图一  sudoku.png

经过python  程序,快速识别出数字并解出数独:

图九 sudoku9.png

本着不重复造轮子的原则。具体实施方法及步骤如下:

第一步:先“扶正”

通过四点仿射变换,‘挖"出数独图。

通过matplotlib   的 ginput  获取4点 再通过 transform  转成如下图,

图二:sudoku2.png

上图变灰度

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

分析此图:在matplotlib在测试,灰度最大傎为156,最小值是 7 平均值为 102

左下角的背景像素  与右上角 字符像素值接近。用简单的二值 转换,左下总变成黑色一片,这不能解决问题。

用Sobel  梯度因子,也达不到效果。

后采用加亮,再二值化,若采用分成3X3格分别二值化可能效果更好。本文下面的做法采用前者。

简单加暴力,如战争般残酷的美丽。

图三 sudoku3.png

有此图就太好了

二值化   二值化这里的参数选150
    ret,thresh=cv2.threshold(imgray,150,255,0)

获取边缘
    image,cnts,hierarchy=cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

绘制
    cv2.drawContours(img,cnts, -1,  (0,200,200), 1)

画外接矩形
        cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255), 2)

图四  sudoku4.png

轮廓框的坐标 及大小,统统出来

图五  sudoku5.png

在此打住,因加亮,右上字符损失较大

把此坐标套回图二  剜出原字符,二值分割

图六 sudoku6.png

为字符的识别奠定了基础。

下面采用knn 识别出 字符

图七 sudoku7.png

再采用目前较好的数独解法,解出数独。

图八 sudoku8.png

版权声明:本文为博主原创文章,转载请注明出处:https://blog.csdn.net/onEMind8/article/details/79737564

计算机视觉 python 解图片数独题相关推荐

  1. 大学python选择题题库及答案_大学慕课用Python玩转数据题库及答案

    大学慕课用Python玩转数据题库及答案 更多相关问题 (19分)电解原理在化学工业中有广泛应用.右图表示一个电解池,装有电解液c :A.B是两块电极板,通过导线与直流 用铂电极电解CuCl2与CuS ...

  2. python零基础实例-零基础学习Python开发练习100题实例(1)

    零基础学习Python开发练习100题实例(1) 2018-02-25 09:37:59 2864浏览 1.题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序 ...

  3. python基础代码事例-零基础学习Python开发练习100题实例(2)

    零基础学习Python开发练习100题实例(2) 2018-02-26 13:11:39 1934浏览 11.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个 ...

  4. python判断题题库大数据技术_智慧树_大数据分析的python基础_搜题公众号

    智慧树_大数据分析的python基础_搜题公众号 更多相关问题 社会公众可以查阅烟草专卖行政主管部门的监督检查记录.() 公民.法人或者其他组织不得利用自动售货机销售烟草制品.() 烟草广告中不得有下 ...

  5. 第十二届蓝桥杯青少年python组 第1-3题 C++实现

    蓝桥杯STEMA测评--Python真题讲解1 蓝桥杯STEMA测评--Python真题讲解1_哔哩哔哩_bilibili 蓝桥杯STEMA测评--Python真题讲解2 蓝桥杯STEMA测评--Py ...

  6. python单选题库答案_大学慕课2020用Python玩转数据题库及答案

    大学慕课2020用Python玩转数据题库及答案 更多相关问题 [单选] 补偿滑轮组中动滑轮槽偏转角度不大于(). [单选] 30型杵环杆长度是(). [单选] 上下行分段绝缘器的空气间隙应达到()及 ...

  7. 数独题的生成与解决方法

    数独题的生成与解决方法 参考文章: (1)数独题的生成与解决方法 (2)https://www.cnblogs.com/trav/p/10197907.html (3)https://www.code ...

  8. python入门经典100题-零基础学习Python开发练习100题实例(1)

    零基础学习Python开发练习100题实例(1) 2018-02-25 09:37:59 2854浏览 1.题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序 ...

  9. 生物信息学算法之Python实现|Rosalind刷题笔记:002 中心法则:转录

    我在生物信息学:全景一文中,阐述了生物信息学的应用领域非常广泛.但是有一点是很关键的,就是细胞内的生命活动都遵从中心法则,生物信息学很多时候就是在中心法则上做文章: 分子生物学中心法则:DNA --& ...

最新文章

  1. eclipse常用以及实用的快捷键
  2. javax线程池超时结束_没有Javax的Jakarta EE:这次世界也不会结束
  3. 机器学习java_Java机器学习,第2部分
  4. LeetCode 1733. 需要教语言的最少人数(哈希+枚举)
  5. word如何设置长宽高_word怎么设计表格高和宽
  6. 通常情况下的中国剩余定理
  7. 教你直白的理解贝塞尔曲线???
  8. xp 优化   转自天涯
  9. 通过cmd命令安装、卸载、启动和停止Windows Service(InstallUtil.exe)-大壮他哥
  10. MFC 的几个常用函数,用来计算文件大小,下载速度,转换时间的
  11. 《SQL必知必会阅读思维导图》PART1
  12. eclipse j2me 连接 KEmulator模拟器
  13. 错误报告函数:strerror和perror
  14. 单片机控制舵机及步进电机
  15. CHD+CM-1 安装
  16. Oracle针对EMP表的练习题(很有用,值得收藏)
  17. pg数据库自动备份记录
  18. 网易云音乐歌单或歌曲封面提取
  19. BUU-ACM国庆新人欢乐赛题解
  20. abp项目怎样发布到服务器,ABP 网站发布

热门文章

  1. ebtables Basic examples
  2. 天使的微笑——《天使爱美丽》
  3. 我遇到的PPT文件不能编辑的情况以及如何解决
  4. phhphphphphphphp转自 细雪之舞 专注DEV
  5. FFmpeg flv视频如何转出mp3格式
  6. IOS收起键盘的几种办法(摘抄自唐巧《iOS开发进阶》)
  7. 使用GCD(转自唐巧的技术博客)
  8. 品牌连锁店5G/4G无线组网方案
  9. 知道创宇创始人赵伟荣登“中国产业创新百人榜”
  10. 【ETH链游】阿蟹Axie Infinity模拟器运行及多开