使用Python+OpenCV实现自动驾驶汽车的车道线检测

对于所有想知道如何在一篇文章中涵盖这一概念的人,我想说,在你深入探索之前,事情听起来很复杂。我不会说这篇文章非常简单,但是它的确是建立在非常基础的计算机视觉概念之上的。

先决条件是什么?具备一些基本的OpenCV知识会很好。如果没有,请不要担心,我将尝试解释我将使用的OpenCV函数,并为你提供参考,以更详细地检查它们。

本文的每一节将介绍一个最终将在程序的主要部分中使用的函数。此外,在本文中,我将使用图像演示所有内容。你可以重用相同的代码来使用视频(因为视频只是图像的集合)。

步骤1:边缘检测

我们将使用Canny边缘检测。如果你不确定这是什么,看看我之前的文章,它以实用的方式解释了这一点。

  • https://medium.com/analytics-vidhya/image-simplification-through-binarization-in-opencv-1292d91cae12

def canyEdgeDetector(image):
    edged = cv2.Canny(image, 50, 150)
    return edged

这是我们应用Canny边缘检测后的输出结果

检测Canny边缘后输出

步骤2:定义ROI(感兴趣区域)

驾驶时,为了让汽车保持在车道上,你只关注当前道路的下一个100米。而且,你也不关心护栏另一边的路。这就是我们感兴趣的区域。我们从图像中隐藏不必要的细节,只显示能帮助我们找到车道的区域。

红色的三角形表示我们感兴趣的区域

def getROI(image):
    height = image.shape[0]
    width = image.shape[1]
    # Defining Triangular ROI: The values will change as per your camera mounts
    triangle = np.array([[(100, height), (width, height), (width-500, int(hei
  • 2
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值