主要内容

Imagetovehicle

将图像坐标转换为车辆坐标

描述

例子

车辆点= ImageTovehicle(单胶图像点将图像坐标转换为[Xy]通过应用投影转换,车辆坐标。单眼相机对象,单胶,包含相机参数。

例子

全部收缩

创建面向前置的单目相机传感器,安装在自助式车辆上。检查从相机捕获的图像,并在车辆和图像坐标中确定图像中的位置。

设置相机的内在参数。指定焦距,图像平面的主要点,以及输出图像大小。单位是像素。将内在管道保存为一个cameraIntrinsics对象。

焦点= [800 800];runcipalpoint = [320 240];图像= [480 640];内在=摄像石(FocalLength,Principalpoint,Imageize);

指定相机的位置。将相机放在地面上方2.18米,朝向地面14度。

高度= 2.18;间距= 14;

使用固有的相机参数和相机位置定义单眼相机传感器。从相机加载图像。

传感器=单纸(内在,高度,'沥青',沥青);ioriginal = imread('Road.png');图imshow(ioriginal)标题('原始图像​​'

图中包含一个轴。具有标题原始图像的轴包含类型图像的对象。

确定直接在相机前面10米的图像坐标。这X- 从相机和轴向前向y- 左边的轴点。

Xyvehicleloc1 = [10 0];XYIMAGELOC1 =驾驶仪(传感器,XYVEHICLELOC1)
Xyimageloc1 =1×2320.0000 216.2296.

在图像上显示点。

IvehicleToImage = insertMarker (Ioriginal xyImageLoc1);IvehicleToImage = insertText(IvehicleToImage,xyImageLoc1 + 5,'10米');图imshow(ivehicletoimage)标题('车辆到图像点'

图中包含一个轴。标题为“车辆到图像点”的轴包含一个图像类型的对象。

确定位于图像中的路面上的点的车辆坐标。

XYIMAGELOC2 = [300 300];Xyvehicleloc2 = Imagetovehicle(传感器,Xyimageloc2)
Xyvehicleloc2 =1×26.5959 0.1732

该点在车辆前方约6.6米,车辆左侧约为0.17米。

显示图像上的点的车辆坐标。

IimageToVehicle = insertMarker (Ioriginal xyImageLoc2);displayText = sprintf ('(%.2f m,%.2f m)',Xyvehicleloc2);IIMAGETOVEHICLE = INSERTTEXT(IIMAGETOVEHICLE,XYIMAGELOC2 + 5,DISPLAYTEXT);图imshow(iimagetovehicle)标题('图像到车点'

图中包含一个轴。具有标题图像到车点的轴包含类型图像的对象。

输入参数

全部收缩

单眼摄像机参数,指定为a单纸巾对象。

图像点,指定为m2矩阵包含m[Xy]图像坐标。

输出参数

全部收缩

车辆分,归为一m2矩阵包含m[Xy]车辆坐标。

扩展能力

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

在R2017A介绍