主要内容

cuboid2img

项目长方体的三维世界坐标二维图像坐标

自从R2022b

描述

例子

projectedCuboid= cuboid2img (长方体,projectionMatrix)项目3 d长方体变成一个图像使用指定的图像数据和摄像机内参数的投影矩阵。函数返回的图像投影长方体。

(projectedCuboid,validIndex)= cuboid2img (___)返回一个逻辑数组表明哪些输入长方体的预测是在相机的视野,从第一个语法使用输入参数。

(projectedCuboid,validIndex,allFaceVertices)= cuboid2img (___)返回的脸顶点投影长方体促进特定的可视化预计长方体的面孔。您可以使用showShapeinsertShape函数可视化预计长方体的面孔。

(___)= cuboid2img (___,名称=值)指定选项使用一个或多个名称参数除了参数从以前的语法的任意组合。例如,cuboid2img (data.cuboid projectionMatrix OutputFormat =“矩形”)指定输出每个长方体作为两个投影长方体的面孔形成axis-aligned矩形。

例子

全部折叠

一个映像加载到工作区并调整它。

imOrig = imread (fullfile (matlabroot“工具箱”,“愿景”,“visiondata”,“stopSignImages”,“image004.jpg”));I = imresize (imOrig (1080 1920));

加载垫文件,其中包含3 d长方体标签和摄像机的投影矩阵传感器捕获的图像。

data =负载(“cuboidData.mat”);projectionMatrix = data.projectionMatrix;长方体= data.cuboid;

长方体的3 d转换成二维投影长方体。

顶点= cuboid2img(长方体,projectionMatrix);

长方体插入投影到图像,然后显示结果。

Iout = insertShape(我“projected-cuboid”、顶点);imshow (Iout)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

一个映像加载到MATLAB工作区,然后调整。

imOrig = imread (fullfile (matlabroot“工具箱”,“愿景”,“visiondata”,“stopSignImages”,“image004.jpg”'));I = imresize (imOrig (1080 1920));

加载垫文件以前创建的三维立方体的标签和传感器的摄像机投影矩阵用来捕捉图像。

data =负载(“cuboidData.mat”);projectionMatrix = data.projectionMatrix;长方体= data.cuboid;

长方体的3 d转换成二维投影长方体,长方体和获得预计的脸顶点。

[projectedCuboids, validIdx allFaceVertices] = cuboid2img(长方体,projectionMatrix);

长方体插入投影到图像。

我= insertShape (,“projected-cuboid”,projectedCuboids);

选择第三个长方体每个投影。

whichFace = 3;selectedFaceVertices = allFaceVertices (:,:, whichFace);

强调选择面临着使用填充多边形和显示结果。

J = insertShape(我“filled-polygon”,selectedFaceVertices);imshow (J)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

输入参数

全部折叠

长方体的位置、大小和方向,指定为一个9矩阵。长方体的数量。每一行指定的位置、大小和方向的长方体的形式(xctryctrzctrxlenylenzlenxrotyrotzrot]:

  • 位置- - - - - -xctr,yctr,zctr3 d的中心的坐标是长方体。

  • 尺寸- - -xlen,ylen,zlen的长度吗x,y,z3-cuboid。

  • 取向,xrotyrotzrotx,y,z旋转角度的3 d长方体。

数据类型:|

相机的投影矩阵,指定为一个3×4矩阵。这个函数使用投影矩阵的3 d世界地图每个长方体到二维图像平面上的点。您可以创建一个使用的投影矩阵cameraProjection函数。

数据类型:|

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

例子:cuboid2img (data.cuboid projectionMatrix OutputFormat =“矩形”)指定输出每个长方体作为两个投影长方体的面孔形成axis-aligned矩形。

输出格式长方体代表计划,指定为“顶点”“矩形”

输出格式 描述

“顶点”

projectedCuboid是一个8-by-2-by -P顶点数组,P长方体是预计的数量。数组的每一页包含(xy)位置的四个角落正面和背面的四个角落投射长方体。

“矩形”

projectedCuboid是一个P8矩阵,P是长方形的数量预计长方体。矩阵的每一行包含一个eight-element向量的形式x1日元w1h1x2y2w2h2),(x1日元]和[x2y2)前置和后置矩形的左上角坐标,分别。

函数调整投影的立方体的顶点,前后长方体面临axis-aligned矩形形式,并附上所有相关预计顶点。

使用矩形输出时需要创建投影长方体数据兼容图片标志,贴标签机视频,或地面实况贴标签机(自动驾驶工具箱)应用程序。

输出参数

全部折叠

预计长方体,作为一个8-by-2-by——返回P数组或一个P8矩阵。P长方体是预计的数量。P小于或等于输入的数量3 d长方体吗。任何长方体中指定的输入长方体相机的视野之外不包括在输出。每个页面,P输出包含的(xy)位置的8个顶点投影长方体。顶点的顺序是1 2 3 4 5 6 7 8),[1 4 8 5](2 3 7 6)分别定义前置和后置矩形,逆时针方向从右上方的顶点。

立方体的顶点编号。1是分配到右上角,数量5的前置矩形的右下角。数字1 - 4和5 - 8定义顶部和底部的脸,分别的长方体逆时针。积极的z轴向上,积极的轴向右,向前和积极的轴的面孔。

长方体指数预测,作为一个返回1逻辑向量,是输入的数量3 d长方体。一个逻辑1值表示一个有效的,相应的预计长方体在镜头面前,至少含有一个顶点与积极的坐标。一个逻辑0值表示相应的投影长方体是无效的。

面对顶点,作为一个返回P-by-8-by-6数组,P是返回的数量预计长方体。数组的每个页面包含的四个顶点的六个面的每一个返回的预计长方体。你可以使用这个输出长方体想象具体的面孔。例如,返回第五的顶点的第三投影长方体,指定:

allFaceVertices (3: 5)
长方体的顺序数组中面临前置、后置,right-facing,左转,面,bottom-facing。

长方体并排视图的投影。在左边,一个长方体的面孔编号和在右边,长方体的顶点编号。一个表显示了顶点与每个脸相关联。

您可以使用allFaceVertices输出的showShapeinsertShape函数可视化的脸投射长方体。例如,看到的突出一个- d长方体

版本历史

介绍了R2022b

Baidu
map