Birdseyeview.

使用反透视映射创建鸟瞰视图

描述

使用Birdseyeview.对象使用反向透视映射创建一个二维场景的鸟瞰图。将图像转换为鸟瞰图,通过aBirdseyeview.对象和该图像到变形体功能。要将鸟瞰图像坐标转换为或从车辆坐标,请使用Imagetovehicle.vevicletoimage.职能。所有这些功能假设输入图像没有镜头失真。要删除镜头失真,请使用undostortimage.功能。

创建

描述

例子

birdseye = birdseyeview(传感器,outview,远处)创造一个Birdseyeview.将图像转换为鸟瞰图的对象。

  • 传感器是A.单纸巾定义相机传感器配置的对象。此输入设置了传感器财产。

  • 概述定义摄像机视图的部分,在车辆坐标中,转变为鸟瞰图。此输入设置了outputView.财产。

  • 外地化定义输出鸟瞰图图像的大小为像素。此输入设置了图片大小财产。

特性

展开全部

相机传感器配置,指定为a单纸巾目的。该物体包含内在摄像机参数,安装高度和相机安装角。此配置定义了车辆坐标系Birdseyeview.目的。有关更多详细信息,请参阅车辆坐标系

该区域的坐标转变为鸟瞰图图像,指定为表格的四元素矢量[XMIN.Xmax.yminymax.]。单位是世界坐标,如米或脚,由此确定传感器财产。四个坐标定义了车辆坐标系中的输出空间(XV.yV.)。

创建对象时,可以设置此属性。创建对象后,此属性是只读的。

输出鸟瞰图的大小以像素为单位指定为表单的两个元素向量[mN], 在哪里mN分别为输出图像指定像素的行数和列。如果为一个维度指定值,则可以将其他维度设置为Birdseyeview.自动计算此值。设置一个维度沿着世界单元比保持相同的像素XV.-axis和yV.-轴。

创建对象时,可以设置此属性。创建对象后,此属性是只读的。

对象功能

变形体 将图像转换为鸟瞰图
Imagetovehicle. 将鸟瞰图图像转换为车辆坐标
vevicletoimage. 将车辆坐标转换为鸟瞰图象坐标

例子

全部收缩

从安装在车辆上的正面相机获得的图像中创建鸟瞰图图像。使用车辆和图像坐标系统显示鸟瞰图内的点。

定义相机内部内部,并创建包含这些内部内部的对象。

焦点= [309.4362 344.2161];林城= [318.9034 257.5352];图像= [480 640];Camintrinsics =摄像石(FocalLength,Principalpoint,Imageize);

将相机的高度设置为地面约2米。将相机的音高设置为14度朝向地面。

高度= 2.1798;间距= 14;

创建包含相机配置的对象。

传感器=单纸(Camintrinsics,高度,'沥青',沥青);

定义要转换为鸟瞰图的相机前面的区域。将面积从3到30米处设置在相机前,6米到相机两侧。

Distahead = 30;spacetooneside = 6;bottomofoffset = 3;Outview = [底部OFFSET,DISTAHEAD,-SPACETOONIDE,Spacetooneside];

将输出图像宽度设置为250像素。通过将长度设置为宽度来计算输出长度

外摆= [南,250];

使用先前定义的参数创建用于执行Bird'-Eye-View变换的对象。

Birdseye = Birdseyeview(传感器,outview,远处);

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

我= imread('Road.png');图imshow(i)标题('原始图像​​'

将输入图像转换为鸟瞰图图像。

Bev = Transformimage(Birdseye,i);

在鸟瞰图中,将20米的标记直接放在传感器的前面。使用vevicletoimage.功能指定车辆坐标中的标记的位置。在鸟瞰图图像上显示标记。

imagePoint = vemicletoimage(birdseye,[20 0]);AnnotatedBev = InsertMarker(BEV,ImagePoint);AnnotatedBev = InsertText(AnnotatedBev,ImagePoint + 5,'20米');图imshow(AnnotatedBev)标题('Bird's-Eye-View图片:vevicletoimage'

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

ImagePoint2 = [120 400];AnnotatedBev = InsertMarker(BEV,ImagePoint2);车辆点= ImageTovehicle(Birdseye,imagePoint2);Xahead =车辆点(1);displaytext = sprintf('%.2F米',Xahead);AnnotatedBev = InsertText(AnnotatedBev,ImagePoint2 + 5,DisplayText);图imshow(AnnotatedBev)标题('Bird''s-Eye-View图片:ImageTovehicle'

更多关于

展开全部

扩展能力

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

也可以看看

职能

在R2017A介绍