OpenCV检测角落

我在iPhone上使用OpenCV。 我想在照片中找到数独。 我从一些高斯模糊,自适应阈值,反转图像和扩张开始。 然后我做了一些findContour并画出了曲线来隔离数独网格。 然后我使用Hough变换来查找线条,现在我需要做的是找到网格的边角。 数独照片可能会以一个角度拍摄,所以我需要找到角落,以便我可以正确裁剪和扭曲图像。

这是两张不同照片的外观。 一个非常直,一个角度:

概率霍夫

http://img96.imageshack.us/i/skrmavbild20110424kl101.png/

http://img846.imageshack.us/i/skrmavbild20110424kl101.png/

(标准霍夫发表评论,我不能发布两个以上的链接)

那么,找到这些角落的最佳方法是什么? 这两种转换中哪一种最容易使用?

最好的问候莱纳斯


为什么不使用OpenCV的角点检测? 看看cvCornerHarris()。

或者,看看cvGoodFeaturesToTrack()。 这是瑞士军刀功能检测,可以配置使用哈里斯角检测器(等)。


我建议采用以下方法。 首先,找到所有线的交点。 将线条按角度划分为“水平”和“垂直”是有帮助的(即找到两条线的主要方向)。 然后找到获取点的凸包。 现在你有边界和边界上的一些点。 您可以通过分析凸包中相邻点之间的角度来删除后者。 角落将具有约90度的角度和点的边界 - 约180度。


您是否看过这篇博客文章,概述如何使用OpenCV制作iPhone的Soduko解算器?

http://sudokugrab.blogspot.com/2009/07/how-does-it-all-work.html

链接地址: http://www.djcxy.com/p/79589.html

上一篇: OpenCV detect corners

下一篇: Matching a curve pattern to the edges of an image