image-processing - OpenCV 识别直线和曲线

标签 image-processing opencv computer-vision

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

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

OpenCV 中有可用的函数吗?非常感谢你的帮助。顺便说一下,我正在使用 Linux 和 C++。

最佳答案

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

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

对于曲线来说,检测过程稍微复杂一点,需要一般的霍夫变换 OCV中还没有,不过可以写成习题或者找个好的实现。 http://en.wikipedia.org/wiki/Generalised_Hough_transform描述它(简而言之)

关于image-processing - OpenCV 识别直线和曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8046956/

相关文章:

matlab - 沿 y 轴翻转图像

image - 在 MATLAB 中将两个 y 轴放在 imagesc 图像上

c - OpenCV Lucas Kanade 光流

c++ - OpenCV:在处理后的图像中选择轮廓

graph - 如何在tensorflow MNIST教程中输出预测值(标签)?

python - Python OpenCV ORB 图像对齐的掩码问题

python - 在Opencv Python中将RGB图像转换为YUV和YCbCr颜色空间图像

image - 如何使用其内容识别图像文件格式?

OpenCV 图像匹配

python - 轮廓中点之间的距离opencv