主要内容

Imagetovehicle

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

描述

例子

车辆点= ImageTovehicle(单胶图像点的)将图像坐标转换为[Xy通过应用投影变换来确定车辆的坐标。单目摄像机对象,单胶,包含相机参数。

例子

全部收缩

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

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

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

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

身高= 2.18;距= 14;

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

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

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

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

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单纸巾对象。

图像点,指定为M.2矩阵包含M.[Xy]图像坐标。

输出参数

全部收缩

车分,归为一分M.2矩阵包含M.[Xy]车辆坐标。

扩展能力

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

在R2017A介绍