OpenCV玩九宫格数独:预告篇

九宫格

数独源于18世纪的瑞士,又称九宫格,有九行、久列和九宫。玩家需要在九宫格中,根据已知的数字,利用逻辑和推理能力,填出所有的空格中应有的数字。填的时候要求每行、每列和每宫都要不重复地包含数字0-9。每行、每列和每宫中1-9都必须出现且只能出现一次,故称之为数独。

数独游戏考察的是解题者的观察能力和逻辑推理能力,虽然规则很简单,但是数字的排列方式却是包含千变万化,是一种锻炼思维的绝佳方式。有时候数独不光有数字的变化,还有颜色的变化,更难但趣味也更多。

在刚刚接触机器视觉的时候,我就想着用机器视觉来解数独。当时也做了一些尝试。但是当时只是做到了提取每一个九宫格和数字,由于当时初学能力有限,就搁置了。最近重新拾起,不是用C++,而是用Python,终于完整地把可以完整地用九宫格了。

今天这篇文章只能说是预告,因为最近空闲时间有限,而这个项目又不是简简单单就能说完的,所以我且利用空闲时间慢慢写,君且慢慢看。

流程

大致的流程是这样的

  • 九宫格数字提取
  • 数字识别
  • 数据收集和处理
  • kNN数字识别
  • 数独生成和求解

效果预览

1.数字提取

数字提取,就是在一张数独图片中提取出已知的数字

2.数字识别

数字识别需要训练kNN数字识别模型,就需要收集数据,进行数据处理之后训练模型。最终可以正确地识别九宫格中的数字。由于训练样本有限,所以现有模型也许只能完美的识别上图所示的九宫格。

3.求解数独并展示结果

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

【黑科技】数据分析师的秘密-QQ聊天记录分析(三)

? 上两篇分析了群的活跃状况,成员活跃状况,以及一些文本的分析,包括词云,聊天关键字, 实体识别,情感分析等等,这篇只围绕一个问题来,那就是提取谈话内容的问题...

3055
来自专栏量化投资与机器学习

【年度系列】股市风起云涌,我用Python分析周期之道

股票市场周期是股票市场长期的价格模式,通常与商业周期有关。 它是技术分析的关键,其中投资方法基于周期或重复的价格模式。 如果我们对股市周期有了更好的理解,我们总...

1362
来自专栏数据科学与人工智能

【Python环境】python的数据科学资源

python和R是数据科学家手中两种最常用的工具,R已经介绍的太多了,后续我们来玩玩python吧。从出身来看,R是统计学家写的,python是计算机科学家写的...

2206
来自专栏LET

数据可视化之热力图

7146
来自专栏CDA数据分析师

测试:你是否具备企业的数据挖掘能力?

1.某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题? A. 关联规则发现 B. 聚类 C. 分类 D. 自然语言处理 ...

2196
来自专栏CDA数据分析师

译文 | 量化投资教程:投资组合优化与R实践

本文由CDA作者库成员HarryZhu翻译,并授权发布。 CDA作者库凝聚原创力量,只做更有价值的分享。 ? Harry Zhu,擅长用Python和R进行数据...

2338
来自专栏程序员叨叨叨

3.1 Shader Language 原理第 3 章 Shader Language

In the last year I have never had to write a single HLSL/GLSL shader. Bottom lin...

733
来自专栏AI科技大本营的专栏

AI 技术讲座精选:数学不好,也可以学习人工智能(七)——自然语言处理的奇妙神奇之处

机器都能做到吗? 我现在是任由自动化左右吗? 未来AI会让作家失业吗? 请阅读本文。 编译 | AI100 在本系列的第五部分中发现了卷积神经网络...

3279
来自专栏IT派

Python数据分析与挖掘学习路线图

语言的学习,真正掌握语言的方式,是交流与实践,所以,这三本书,是由浅入深的步骤。大家在学习过程中,可以到群里面去进行交流沟通。

812
来自专栏我和未来有约会

[Silverlight动画]转向行为 - 寻找行为

寻找行为只是把机车移动到指定点。就像这样: public void seek(Vector2D target) { ...

1967

扫码关注云+社区