主要内容

vevicletoimage.

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

描述

例子

图像点=驾驶仪(单胶车辆点转换[Xy] 要么 [XyZ.]车辆坐标到[Xy]通过应用投影转换来坐标。单眼相机对象,单胶,包含相机参数。

例子

全部收缩

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

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

焦点= [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单纸巾目的。

车辆点,指定为一个m-by-2或m-By-3矩阵含有m[Xy] 要么 [XyZ.]车辆坐标。

输出参数

全部收缩

图像点,作为一个返回m-By-2矩阵包含m[Xy]图像坐标。

扩展能力

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

在R2017A介绍