imageToVehicle

转换鸟瞰图图像坐标到车辆坐标

描述

vehiclePoints= imageToVehicle(伯兹艾imagePoints转换鸟瞰图图像坐标为[Xÿ]车辆坐标。

例子

全部收缩

从通过前置摄像头获得的图像创建的鸟瞰图图像安装在车辆上。使用车辆和图像坐标系统中的鸟瞰图内显示点。

定义了摄像机内在并创建包含这些内在的对象。

长焦点= [309.4362 344.2161];principalPoint = [318.9034 257.5352];IMAGESIZE = [480 640]。camIntrinsics = cameraIntrinsics(长焦点,principalPoint,IMAGESIZE);

相机的设置高度为约2米以上的地面。相机的间距被设定朝向地面14度。

高度= 2.1798;节距= 14;

创建包含摄像机配置的对象。

传感器= monoCamera(camIntrinsics,高度,'沥青',沥青);

定义要转变成一个鸟瞰镜头前的区域。从3至30米的摄像机前设置的区域,以6米到相机的任一侧。

distAhead = 30;spaceToOneSide = 6;bottomOffset = 3;outView = [bottomOffset,distAhead,-spaceToOneSide,spaceToOneSide];

设置输出图像的宽度250个像素。由长度设置为从宽度自动计算输出长度为NaN

outImageSize = [NaN时,250];

创建用于执行鸟瞰图变换,使用前面定义的参数的对象。

伯兹艾= birdsEyeView(传感器,outView,outImageSize);

加载由传感器捕捉的图像。

I = imread('road.png');图imshow(I)称号(“原始图像”

变换所述输入图像到鸟瞰图图像。

BEV = transformImage(鸟眼,I);

在鸟瞰图图像,直接放置一个20米长的标记在传感器的前面。使用vehicleToImage函数指定在车辆坐标标记的位置。显示鸟瞰图图像上的标记。

imagePoint = vehicleToImage(鸟眼,[20 0]);annotatedBEV = insertMarker(BEV,imagePoint);annotatedBEV = insertText(annotatedBEV,imagePoint + 5,'20米);图imshow(annotatedBEV)标题(“Bird''s眼视图图像:vehicleToImage”

定义原始鸟瞰图图像中的位置,这一次是在图像坐标。使用imageToVehicle功能将图像坐标转换为车辆坐标。显示标记和车辆的前部之间的距离。

imagePoint2 = [120 400];annotatedBEV = insertMarker(BEV,imagePoint2);vehiclePoint = imageToVehicle(鸟眼,imagePoint2);xAhead = vehiclePoint(1);displayText = sprintf的('%.2f米',xAhead);annotatedBEV = insertText(annotatedBEV,imagePoint2 + 5,displayText);图imshow(annotatedBEV)标题(“Bird''s眼视图图像:imageToVehicle”

输入参数

全部收缩

对象变换图象到鸟瞰图,指定为birdsEyeView宾语。

图像点,指定为中号-by-2含有基质中号[数Xÿ]图像坐标。

输出参数

全部收缩

车辆分,返回一个中号-by-2含有基质中号[数Xÿ]车辆坐标。

扩展功能

C / C ++代码生成
生成使用MATLAB®编码器™C和C ++代码。

介绍了在R2017a