【问题标题】:How to detect lane without line in lane in opencv?如何在opencv中检测车道中没有线的车道?
【发布时间】:2021-11-30 03:49:03
【问题描述】:

我被 opencv 卡在检测车道上,这里的问题是它检测到图像的所有边缘,但我只想检测车道,我该怎么做,我试图找到解决方案但它没有作品。

【问题讨论】:

  • 我们至少需要原始图像才能进行测试,或者我们只能提供一些建议(比如只画出45~135之间的线或者只比你决定的长度长) .
  • Canny 通常是初学者的厄运。扔掉所有的代码。 -- 正如 Ema 已经指出的那样,我们需要查看未触及的源数据。 ——你可能需要使用人工智能。您需要将图片“分割”成道路、非道路,甚至天空、建筑物、树木、行人……——如果不是人工智能,那么即使是纹理分析也可能会让您走得更远,而不仅仅是阈值。您的场景没有照明,所以简单的阈值处理可能已经足够好了。
  • 请避免发布代码或错误的图片(或更糟糕的是,图片链接)。任何基于文本的(代码和错误)都应作为文本直接发布在问题本身中,并正确格式化为minimal reproducible example。你可以得到更多formatting help here。您还可以阅读why you shouldn't post images/links of code

标签: python opencv computer-vision


【解决方案1】:

您可以使用高斯模糊来避免它。

基本上,这个概念是稍微模糊一下图片并过滤掉不必要的线条。

我通常做的是,

blur = cv2.GaussianBlur(grey, (3,3), 5) #Variable for your case

参考资料:

除此之外,在模糊之后,您还可以使用ROI 来固定您的汽车的视角,并在需要时过滤掉其他细节。

vertices = np.array([[10,500], [10,300], [300,200], [500,200], [800,300], [800,500]]) #creates roi part. it will be totally dependent on your region of interest
processed_img = roi(processed_img, [vertices])

处理后,再尝试画线。对你有很大帮助。

参考资料:

【讨论】:

  • 模糊会使行更难检测。这意味着它会影响“噪音”和所需的线条。 -- 在目前的问题状态下,很难给出任何建议。
  • 确实如此。但在我脑海中看到我的方法后,他似乎很清楚他可以做哪些选择。
猜你喜欢
  • 1970-01-01
  • 2019-09-17
  • 1970-01-01
  • 2016-04-07
  • 2016-08-04
  • 1970-01-01
  • 2011-05-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多