OpenCV识别线和曲线

时间:2011-11-08 07:01:12

标签: image-processing opencv computer-vision

我刚开始学习OpenCV编程。我可以问一下如何在OpenCV中识别线条和曲线?我的问题是我必须确定图像是否包含凸面或凹面(水平或垂直曲线)曲线,垂直,对角线或水平线。

在我的代码中,我使用CvSetImageROI来拍摄图像的特定部分,然后我尝试根据所述线条/曲线识别每个部分。

OpenCV中是否有可用的功能?非常感谢你的帮助。顺便说一句,我正在使用Linux和C ++。

1 个答案:

答案 0 :(得分:6)

霍夫变换http://en.wikipedia.org/wiki/Hough_transformhttp://homepages.inf.ed.ac.uk/rbf/HIPR2/hough.htm 是标准的方法。以其简单的形式(在OpenCV中实现),它可以检测任意位置和角度以及线段的线。

在这里查看示例 http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=hough#houghlinesp

对于曲线,检测过程有点复杂,你需要一般的Hough变换它在OCV中尚不可用,但你可以把它写成练习或寻找一个好的实现。 http://en.wikipedia.org/wiki/Generalised_Hough_transform描述了它(简而言之)