insertLaneBoundary
在图像中插入车道边界
描述
例子
在鸟瞰图中找到抛物线车道边界
利用抛物线车道边界模型在图像中寻找车道。在原始图像和图像的鸟瞰变换上叠加识别出的车道。
加载带有车道的道路图像。该图像是由安装在车辆前部的摄像头传感器获得的。
I = imread(“road.png”);
通过使用预先配置的传感器对象将图像转换为鸟瞰图像。该对象为捕捉原始图像的传感器建模。
bevSensor = load(“birdsEyeConfig”);birdsEyeImage = transformImage(bevSensor.birdsEyeConfig,I);imshow (birdsEyeImage)
设置以世界单位(米)为单位的近似车道标记宽度。
approxBoundaryWidth = 0.25;
检测车道特征并将其显示为黑白图像。
birdsEyeBW = segmentLaneMarkerRidge(im2gray(birdsEyeImage),...bevSensor.birdsEyeConfig approxBoundaryWidth);imshow (birdsEyeBW)
在世界坐标中获取车道候选点。
[imageX,imageY] = find(birdsEyeBW);xyBoundaryPoints = imageToVehicle(bevSensor.birdsEyeConfig,[imageY,imageX]);
方法查找图像中的车道边界findParabolicLaneBoundaries
函数。默认情况下,该函数最多返回两个车道边界。的数组中存储边界parabolicLaneBoundary
对象。
边界=找到抛物线lane边界(xyBoundaryPoints,approxBoundaryWidth);
使用insertLaneBoundary
在原始图像上叠加车道。的XPoints
向量表示车辆传感器范围内的车道点,单位为米。指定不同颜色的车道。默认情况下,车道为黄色。
XPoints = 3:30;figure sensor = bevSensor.birdsEyeConfig.Sensor;lanesI = insertLaneBoundary(I,边界(1),传感器,XPoints);lanesI = insertLaneBoundary(lanesI,边界(2),传感器,XPoints,“颜色”,“绿色”);imshow (lanesI)
在鸟瞰图中查看车道。
figure BEconfig = bevSensor.birdsEyeConfig;lanesBEI = insertLaneBoundary(birdsEyeImage,boundaries(1),BEconfig,XPoints);lanesBEI = insertLaneBoundary(lanesBEI,boundaries(2),BEconfig,XPoints,“颜色”,“绿色”);imshow (lanesBEI)
输入参数
我
- - - - - -输入道路图像
真彩图像|灰度图像
输入道路图像,指定为真彩色或灰度图像。
数据类型:单
|双
|int8
|int16
|uint8
|uint16
边界
- - - - - -车道边界模型
的数组parabolicLaneBoundary
对象|的数组cubicLaneBoundary
对象
的数组指定的车道边界模型parabolicLaneBoundary
对象或cubicLaneBoundary
对象。车道边界模型包含以下属性:
参数
-与边界模型系数相对应的向量。向量的大小取决于模型的多项式的程度。车道边界对象 参数 parabolicLaneBoundary
[a b c]
,对应于该形式的二次多项式方程的系数y=斧头2+Bx+CcubicLaneBoundary
[a b c d]
,对应于该形式的三次多项式方程的系数y=斧头3.+Bx2+残雪+DBoundaryType
——一个LaneBoundaryType
支持的车道边界枚举:金宝app没有标记的
固体
冲
BottsDots
DoubleSolid
指定车道边界类型为
LaneBoundaryType。
.例如:BoundaryType
LaneBoundaryType。BottsDots
强度
-唯一个数的比例x-轴上的位置以沿该线的总点数为基础XExtent
财产。XExtent
-描述最小值和最大值的两元向量x边界点的-轴位置。
传感器
- - - - - -采集图像的传感器
birdsEyeView
对象|monoCamera
对象
用于收集图像的传感器,指定为birdsEyeView
或monoCamera
对象。
xVehicle
- - - - - -x边界的-轴位置
实值向量
x-显示车道边界的轴位置,在车辆坐标中指定为实值向量。点间距控制对应类型边界的破折号和圆点间距。要清楚地显示虚线边界,至少要指定四个点xVehicle
.如果指定的点少于4个,则函数绘制实边界。
名称-值参数
的可选逗号分隔对名称,值
参数。的名字
参数名称和价值
对应的值。的名字
必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
'Color',[0 10 0]
颜色
- - - - - -车道边界的颜色
“黄色”
(默认)|特征向量|字符串标量|(R, G, B)
RGB值的向量|字符向量的单元格数组|字符串数组|米RGB值的-by-3矩阵
车道边界的颜色,指定为字符向量、字符串标量或(R, G, B)
RGB值的向量。中的每个边界可以指定特定的颜色边界
字符向量的单元格数组、字符串数组或米RGB值的-by-3矩阵。颜色与边界车道的顺序相对应。
RGB值必须在图像数据类型的范围内。
金宝app支持的颜色值为“蓝”
,“绿色”
,“红色”
,“青色”
,“红色”
,“黄色”
,“黑”
,“白色”
.
例子:“红色”
例子:(1,0,0)
线宽
- - - - - -边界车道的线宽
3.
(默认)|正整数
边界车道的线宽,以像素为单位的正整数指定。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。