主要内容

worldpointset

通讯管理三维二维点

描述

worldpointset对象存储3 d世界之间的对应点和二维图像点在相机视图。您可以使用一个worldpointset对象与一个imageviewset对象为structure-from-motion管理图片和地图数据,视觉测程法,和视觉同步定位和映射(大满贯)。

创建

描述

例子

wpSet= worldpointset创建一个worldpointset对象使用默认属性。使用对象函数来执行操作,如添加、修改或删除对应关系,发现在一个观点、发现点的观点。

属性

全部展开

这个属性是只读的。

3 d世界点,指定为一个3矩阵的行包含(xyz分)世界。是三维世界的数量分。

这个属性是只读的。

标识符的看法与世界相关的点,作为一个指定N有效行向量的整数。

这个属性是只读的。

三维二维点对应,指定为一个三列的表。

描述
PointIndex 每行包含一个世界点的线性指数。
ViewId 每一行包含一个1 -N向量指定id相关联的视图与世界相应的点。N是与世界相关联的视图的数量。
FeatureIndex 每一行包含一个1 -N向量指定索引的特征点对应世界的观点。每个元素的索引指定的视图中的特征点对应的元素ViewID细胞。

这个属性是只读的。

查看每个世界点方向,指定为一个3矩阵,是点的数量。查看方向提供了一个估计的视角从三维角度可以观察到。查看方向是平均的单位向量指向世界的相机中心相关的观点。当一个新的相机视图引入系统,3 d世界可以观察到在这个观点可以预测基于距离限制和设定的范围DistanceLimits

立方体对象和三个视图(代表,view1、view2 viewN)描绘了一个向量对象的从一个角落点的三个观点。第四个向量不指向一个视图标签,”视图方向”。画两个弧附近的观点和标签是“距离范围”。

这个属性是只读的。

一个代表了最小和最大距离,每个点是观察世界。

距离限制为3 d点观察,指定为一个2向量代表了最小和最大距离,是点的数量。范围显示3 d点可以观察到多远。当一个新的相机视图引入系统,3 d世界可以观察到在这个观点可以预测基于距离限制和设定的范围ViewingDirection

立方体对象和三个视图(代表,view1、view2 viewN)描绘了一个向量对象的从一个角落点的三个观点。第四个向量不指向一个视图标签,”视图方向”。画两个弧附近的观点和标签是“距离范围”。

这个属性是只读的。

视图id的代表性观点,作为一个指定元列向量,是点的数量。代表视图对应的视图,其中包含每个世界的代表特征的代表观点。代表特征是所有相关联的特征描述符的medoid与世界的观点。

这个属性是只读的。

代表特征描述符指数,作为指定元列向量,是点的数量。索引值对应于视图,其中包含每个世界的代表特征描述符。

这个属性是只读的。

数量的3 d世界点,指定为一个标量。

对象的功能

addWorldPoints 添加指向世界点集
removeWorldPoints 删除分世界点集
updateWorldPoints 更新世界点的点集
addCorrespondences 更新世界点一个点集的世界
removeCorrespondences 把三维到二维通讯从世界点集
updateCorrespondences 更新三维二维点集对应的世界
updateLimitsAndDirection 更新距离限制和观察方向
updateRepresentativeView 更新代表视图ID和相应的特征指数
findViewsOfWorldPoint 发现观点观察世界
findWorldPointsInTracks 发现世界点对应点痕迹
findWorldPointsInView 发现世界的观点

例子

全部折叠

加载一个垫,文件包含立体声参数到工作区中。

负载(“webcamsSceneReconstruction.mat”);

一双立体图像读入工作区。

I1 = imread (“sceneReconstructionLeft.jpg”);I2 = imread (“sceneReconstructionRight.jpg”);

Undistort图像。

I1 = undistortImage (I1, stereoParams.CameraParameters1);I2 = undistortImage (I2, stereoParams.CameraParameters2);

定义一个矩形的感兴趣的区域(ROI),在格式x y宽度高度]。

投资回报率=[30 30尺寸大小(I1, 2) -30 (I1, 1) -30];

检测和提取骗健壮的特性(冲浪)从使用ROI图像。

imagePoints1 = detectSURFFeatures (im2gray (I1),“投资回报”roi);imagePoints2 = detectSURFFeatures (im2gray (I2),“投资回报”roi);[feature1, validPoints1] = extractFeatures (im2gray (I1) imagePoints1,“正直”,真正的);[feature2, validPoints2] = extractFeatures (im2gray (I2) imagePoints2,“正直”,真正的);

匹配提取的特征。

indexPairs = matchFeatures (feature1 feature2);

计算3 d世界点。

matchedPoints1 = validPoints1 (indexPairs (: 1));matchedPoints2 = validPoints2 (indexPairs (:, 2));worldPoints =满足(matchedPoints1 matchedPoints2 stereoParams);

创建一个worldpointset对象管理通讯。

wpSet = worldpointset;

添加世界点worldpointset

[wpSet, newPointIndices] = addWorldPoints (wpSet worldPoints);

添加三维到二维点通讯worldpointset

wpSet = addCorrespondences (wpSet 1 newPointIndices indexPairs (: 1));wpSet = addCorrespondences (wpSet 2 newPointIndices indexPairs (:, 2));

显示世界点。

pcshow (wpSet.WorldPoints“VerticalAxis”,“y”,“VerticalAxisDir”,“下来”,“MarkerSize”,45岁)

扩展功能

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

版本历史

介绍了R2020b

全部展开

另请参阅

功能

对象