如何删除数独方格中的凸缺陷?
- 论坛
- 如何删除数独方格中的凸缺陷?
15 浏览
如何删除数独方格中的凸缺陷?
我在做一个有趣的项目:使用OpenCV从输入图像中解决数独问题(就像Google眼镜等)。我已经完成了任务,但最后发现了一个小问题,所以我来这里寻求帮助。
我使用OpenCV 2.3.1的Python API进行编程。
以下是我的做法:
- 读取图像
- 寻找轮廓
- 选择面积最大的轮廓(并且大致等于正方形)。
- 找到角点。
例如下面给出的图像:
(注意这里绿线与数独的真实边界正确重合,因此可以正确地对数独进行变形。请查看下一张图片)
- 将图像变形为完美的正方形
例如图像:
- 进行OCR(我使用的方法在这里给出)
这个方法效果很好。
问题:
请查看这张图片。
对该图像执行第4步会得到以下结果:
画的红线是数独的原始轮廓,即数独边界的真实轮廓。
画的绿线是近似轮廓,将成为变形图像的轮廓。
当然,绿线和红线在数独的顶边有差异。因此,在变形时,我无法得到数独的原始边界。
我的问题:
如何在数独的正确边界上进行图像变形,即红线,或者如何消除红线和绿线之间的差异?OpenCV中有没有相应的方法可以实现这一点?