Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 图像中数独方块的检测_Matlab_Image Processing_Opencv_Computer Vision - Fatal编程技术网

Matlab 图像中数独方块的检测

Matlab 图像中数独方块的检测,matlab,image-processing,opencv,computer-vision,Matlab,Image Processing,Opencv,Computer Vision,我想问另一个与此有关的问题 我用OpenCV Python实现了一个数独解算器,它运行得非常好。但在这个时候,我做了一个假设,这将简化我的问题 假设是:Sudoku边界(正方形)是输入图像中最大的blob 例如: 红色方块是检测到的方块。您可以看到它覆盖了图像的主要部分 问题: 问题只在于假设

我想问另一个与此有关的问题

我用OpenCV Python实现了一个数独解算器,它运行得非常好。但在这个时候,我做了一个假设,这将简化我的问题

假设是:
Sudoku边界(正方形)是输入图像中最大的blob

例如:

红色方块是检测到的方块。您可以看到它覆盖了图像的主要部分

问题:

问题只在于假设<若数独方块周围有另一个方块,该方法将失败。或者,如果图像中有另一个比数独方块更大的斑点,则该方法再次失败。

例如,拿着这个。(我不想在这里上传原始图像,它相当大,而且我还是想上传结果)

我尝试了以下几种方法来查找此图像中的数独方块:

1)
查找最大的blob

然后我得到了红色区域<代码>方法失败

(从原始图像调整图像大小以减小大小)

2)
仅查找方形区域

你可以看到很多候选人都在那里,特别是
国王纵横字谜
,它与数独非常相似<代码>方法再次失败

简而言之,这张图片拥有一切,让我失望。

问题:

如何在图像中检测数独方块,特别是在我给出的测试图像中?有更好的算法吗?

更新:在阅读了一些答案和评论后,我想我应该给出一个更新。请看下图:


这张图片有一个问题数独和以前数独的答案。两者都一样。我认为搜索子块或OCR测试在这里不起作用

为什么不检查每一个大方块/斑点?只有那些有 1) 9X9子正方形 2) 某些子格中的数字 3) 无遮光子正方形
是数独。

一种完全不同的方法,也许是无用的方法,但是你不能通过OCR系统,然后寻找文本提示,首先在哪里查找,然后再从那里查找吗?我不这么认为。检查问题中的更新。嗯,我确实给出了评论,因为我不确定:)。。不过,我认为你需要使用多种方法。一种方法是通过光学字符识别(OCR)找到数独的大致区域(这样你就不会得到卡通),然后找到最大的方块/方块?差不多吧。只是大声思考;)更新:从技术上来说,这两个都是数独游戏,第二个已经解决了。所以没有空块。我想你可以像这样发现它。还有4)包含一些空白方块?我想@Chris和我某种程度上的支持是,为什么不尝试所有可能是数独的东西,然后逐项检查每一个,直到确定它不是数独?你不需要拿出一些神奇的子弹,拿起数独,只有从页面的数独。