相关疑难解决方法(0)

如何消除数独广场中的凸性缺陷?

我正在做一个有趣的项目:使用OpenCV从输入图像中解决数独(如Google护目镜等).我完成了任务,但最后我发现了一个问题,我来到这里.

我使用OpenCV 2.3.1的Python API进行编程.

以下是我的所作所为:

  1. 阅读图片
  2. 找到轮廓
  3. 选择具有最大面积的那个(并且也有点等于正方形).
  4. 找到角点.

    例如,如下:

    在此输入图像描述

    (请注意,绿线正确地与Sudoku的真实边界重合,因此可以正确扭曲数独.查看下一张图片)

  5. 将图像扭曲成完美的正方形

    例如:

    在此输入图像描述

  6. 执行OCR(我使用我在OpenCV-Python中的简单数字识别OCR中给出的方法)

而且方法效果很好.

问题:

看看这个图像.

在此图像上执行第4步,结果如下:

在此输入图像描述

绘制的红线是原始轮廓,它是数独边界的真实轮廓.

绘制的绿线是近似轮廓,它将是扭曲图像的轮廓.

当然,在数独的上边缘绿线和红线之间存在差异.因此,在翘曲时,我没有得到数独的原始边界.

我的问题 :

如何在数独的正确边界上扭曲图像,即红线,或者如何消除红线和绿线之间的差异?在OpenCV中有没有这方法?

python opencv sudoku computer-vision

179
推荐指数
3
解决办法
3万
查看次数

模糊图像的自适应阈值

我有一个相当模糊的数独谜题的432x432图像,其自适应阈值不好(取5x5像素的块大小,然后减去2):

在此输入图像描述

正如你所看到的,数字略有扭曲,其中有很多破损,而且有5s融入6s和6s融入8s.此外,还有很多噪音.为了修复噪声,我必须使用高斯模糊使图像更加模糊.然而,即使是相当大的高斯内核和自适应阈值blockSize(21x21,减去2)也无法消除所有断点并将数字融合在一起甚至更多:

在此输入图像描述

我还尝试在阈值处理后扩展图像,这与增加blockSize有类似的效果; 并且锐化图像,这在某种程度上没有太大作用.我还应该尝试什么?

opencv image-processing threshold

16
推荐指数
2
解决办法
2万
查看次数

计算图像积分

如何从图像积分中找到均值,std dev和梯度?给出如下图像:

求和面积表和正常数字表

如上图所示,要找到突出显示部分的总和,sum = C+A-B-D.
所以我们有sum = 22.

我如何进行下一步以找到:

  • 意思
  • Std dev
  • 梯度

opencv

9
推荐指数
1
解决办法
8755
查看次数

尼黑阈值处理

我正在尝试实现 niblack 阈值算法,该算法使用以下公式:

pixel = ( pixel >  mean + k * standard_deviation ) ? object : background
Run Code Online (Sandbox Code Playgroud)

其中 k 的标准值为 0。有人可以告诉我如何在 matlab 中实现这个吗?我不知道该怎么做

matlab image-processing threshold

3
推荐指数
1
解决办法
8773
查看次数