Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何过滤用于多车道检测的Hough线? 我使用HoughTransformP在OpenCV C++中进行车道检测。_C++_Opencv_Computer Vision_Hough Transform_Houghlinesp - Fatal编程技术网

如何过滤用于多车道检测的Hough线? 我使用HoughTransformP在OpenCV C++中进行车道检测。

如何过滤用于多车道检测的Hough线? 我使用HoughTransformP在OpenCV C++中进行车道检测。,c++,opencv,computer-vision,hough-transform,houghlinesp,C++,Opencv,Computer Vision,Hough Transform,Houghlinesp,我的测线步骤顺序基本如下: 1. Bird Eye View of image 2. Grayscale image 3. Guassian Blur image 4. Canny Edge detection 5. HoughTransformP canny image 6. Filter out horizontal lines based on the slope canny边缘检测后的输出为: 这里的问题是HougLinesP提供了多条线,而不仅仅是车道。输出看起来与此类似: 我试

我的测线步骤顺序基本如下:

1. Bird Eye View of image
2. Grayscale image
3. Guassian Blur image
4. Canny Edge detection
5. HoughTransformP canny image
6. Filter out horizontal lines based on the slope
canny边缘检测后的输出为:

这里的问题是HougLinesP提供了多条线,而不仅仅是车道。输出看起来与此类似:

我试图得到这样的东西:


如何过滤杂乱的线条并仅绘制车道线?

可能的算法概述:

  • 对线段进行聚类:例如在下图中,您应该能够使用
    1
    2
    3
    4
    标记每个线段

  • 对于每个簇,找到一条“平均线”

  • 以Hessian法线形式投射线段
    x*cos(beta)+y*sin(beta)-p=0
    其中
    p
    是线段与原点之间的距离,
    beta
    是您在下图中看到的角度:

    您可以使用一些适当的机器学习技术对线段进行聚类,例如使用输入特征向量
    [p,beta]
    ,然后您可以找到“平均线”,例如对
    b
    beta
    进行平均。
    假设你有两段
    [p_1,beta_1]
    [p_2,beta_2]
    属于同一个簇,平均段是
    [(p_1+p_2)/2,(beta_1+beta_2)/2]

    你总是可以尝试对图像设置阈值以获得黄色/白色,这样,检测到的线将来自lanes@api55我也试过设置阈值,但我仍然能看到每条车道上杂乱无章的线条。而且,仅仅设定阈值并不能在所有情况下都起作用。举一个例子,在你的框架中有一个道路分隔器(它将是白色/黄色和黑色),HoughLinesP也会给出一系列的线。我怎样才能得到问题末尾的图中所示的一条直线?@AkritiRao你能画出图中所示的蓝色线段吗?看起来应该连在一起的直线几乎彼此平行。@AlessandroJacopson是的,我能做到。我在每一条车道上都能看到一组线。