用java实现android数独解算器的计算机视觉

zxlwwiss  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(371)

如果我错过了一个类似的so问题,请原谅,但我没有发现任何与我的具体问题有关的问题。
我想为android写一个数独解算器。问题的这一部分似乎是直截了当的,其他地方也有很好的记录。
但是,我希望能够在纸上拍摄一个物理拼图,然后使用它生成一个可以解决的拼图的java表示。
虽然我对java或android并不陌生,但我对计算机视觉还是很陌生。因此,我想知道什么策略或概念在解决这个问题上最有效**如何将一个由android捕获的图片中的数独游戏转换成一个可以解决的内存中的数独游戏。**即使知道关键术语也能帮助我缩小搜索范围,从计算机视觉101。
谢谢!

编辑

从问题中删除了图书馆建议,以更好地符合so标准。

ecfdbz9o

ecfdbz9o1#

听起来是个很酷的项目!我以前做过一些字符识别,你想在谷歌上搜索的术语是ocr——光学字符识别。google上的第一个结果是一个整洁的小项目,有人用电脑摄像头识别数独难题。我还没有下载和运行它,但浏览一下页面,它似乎有相当多的细节,可能可以转移到android。
在android特定的ocr代码方面,有一个项目称自己为
android的一个实验性应用程序,对使用设备摄像头拍摄的图像执行光学字符识别(ocr)。
我想你可以在互联网上找到很多其他来源,使用搜索词“ocr”将是你的网关关键字在这里。。。

flvtvl50

flvtvl502#

我是通过谷歌搜索来回答这个问题的,我不确定你是否还在寻找答案。
有许多算法,使数独解算器android应用程序;然而,根据我的个人经验,我建议在android中使用opencv来解决这个问题。
opencv入门有很多教程,因此我不打算推荐这方面的任何教程。
这种应用程序的算法如下
canny边缘检测和模糊去噪
采用轮廓边缘检测的方法得到图像中的矩形
根据等高线面积按降序排列等高线
找出前5个矩形的长度得到正方形。现在数独
对轮廓应用包裹透视变换
将图像等分得到细胞
为了找到数字,可以使用knn或automl。
从那里你可以手动求解数独,也可以使用任何算法求解。
我已经创建了一个这样的应用程序并发布在github上。
这里是它的一个快速演示

相关问题