主要内容

segmentLaneMarkerRidge

检测灰度强度图像中的车道

描述

例子

birdsEyeBW= segmentLaneMarkerRidge (birdsEyeImagebirdsEyeConfigapproxMarkerWidth返回表示车道特征的二值图像。该函数将输入的灰度强度图像分段,birdsEyeImage,使用车道脊探测器。birdsEyeConfig将点位置从车辆坐标转换为图像坐标。的approxMarkerWidth参数以世界单位为单位,并指定检测到的类车道特征的近似宽度。

birdsEyeBW= segmentLaneMarkerRidge (___名称,值返回带有一个或多个指定的附加选项的二进制映像名称,值对参数。

例子

全部折叠

加载鸟瞰图配置对象。

负载birdsEyeConfig

加载在鸟瞰配置对象中定义的从传感器捕获的图像。

I = imread()“road.png”);图1 (I)标题(原始图像的

图包含一个轴对象。标题为Original Image的axes对象包含一个Image类型的对象。

创建一个鸟瞰图。

birdsEyeImage = transformImage(birdseeconfig,I);imshow (birdsEyeImage)

图包含一个轴对象。axes对象包含一个image类型的对象。

将鸟瞰图像转换为灰度。

birdsEyeImage = im2gray(birdsEyeImage);

将车道标记的大致宽度设置为25厘米,以世界单位为单位。

approxMarkerWidth = 0.25;

检测车道特征。

birdsEyeBW = segmentLaneMarkerRidge(birdsEyeImage, birdseeconfig,approxMarkerWidth);imshow (birdsEyeBW)

图包含一个轴对象。axes对象包含一个image类型的对象。

输入参数

全部折叠

鸟瞰图,指定为非稀疏矩阵。

数据类型:|int16|uint16|uint8

对象将点位置从车辆坐标转换为图像坐标,指定为birdsEyeView对象。

用于在鸟瞰图像中检测功能的类车道特征的近似宽度,指定为实标量,以世界单位为单位,例如米。

名称-值参数

指定可选的参数对为Name1 = Value1,…,以=家,在那里名字是参数名和吗价值是对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:“投资回报”[]

世界单位中感兴趣的区域,由逗号分隔的对组成“投资回报”一个1 × 4的向量,格式为[xminxmaxyminymax]。该函数仅在感兴趣的区域内搜索类巷特征。如果不指定ROI,该函数搜索整个图像。

灵敏度因子,指定为由逗号分隔的对组成“敏感”一个在[0,1]范围内的实标量。您可以增加此值以检测更多类似车道的特征。然而,更高的灵敏度会增加错误检测的风险。

输出参数

全部折叠

鸟瞰图,作为代表车道特征的二值图像返回。

更多关于

全部折叠

车辆坐标系统

中的传感器定义的点位置,该函数使用车辆坐标系定义点位置birdsEyeView对象。它使用与定义相同的世界单位birdsEyeConfig.Sensor.WorldUnits财产。看到自动驾驶工具箱中的坐标系统

算法

segmentLaneMarkerRidge通过搜索像素来选择车道lane-like.类车道像素是一组像素,与两侧相邻像素相比具有高强度对比度。该函数选择用于阈值强度对比的过滤器approxMarkerWidth价值。滤波器对于强度值高于在距离处具有相似强度的左右相邻像素的像素具有高响应approxMarkerWidth.函数仅保留过滤图像中的某些值灵敏度的因素。

参考文献

[1] Nieto, M., J. A. Laborda和L. Salgado。使用鲁棒透视分析和递归贝叶斯分割的道路环境建模。机器视觉与应用。第22卷,第6期,2011年,第927-945页。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

版本历史

在R2017a中引入

另请参阅