三维重建

微信公众号:小白图像与视觉
关于技术、关注yysilence00。有问题或建议,请公众号留言。
只是找个地说会话

#1. 从两个角度看运动的结构 > - 运动结构(SfM)是根据一组2D图像估算场景的3D结构的过程。本示例向您展示如何从两幅图像中估计经过校准的相机的姿势,如何重建场景的3-D结构直至未知的比例因子,然后通过检测已知大小的对象来恢复实际的比例因子。

#2.综述

  • 本示例说明如何从使用通过Camera Calibrator应用程序校准的摄像机拍摄的一对2D图像中重建3D场景。该算法包括以下步骤:

1、在两个图像之间匹配一组稀疏点。查找两个图像之间的点对应关系的方法有多种。本示例使用detectMinEigenFeatures函数检测第一张图像中的角,并将其跟踪到第二张图像中vision.PointTracker。或者您可以使用extractFeatures之后matchFeatures。
2、使用估计基本矩阵estimateFundamentalMatrix。
3、使用该relativeCameraPose功能计算摄像机的运动。
4、在两个图像之间匹配一组密集的点。使用重新检测点detectMinEigenFeatures以降低’MinQuality’获得更多的积分。然后使用跟踪密集点进入第二张图像vision.PointTracker。
5、使用确定运动点的3-D位置triangulate。
6、检测已知大小的物体。在此场景中有一个地球仪,其半径已知为10厘米。用于pcfitsphere在点云中查找地球。
7、恢复实际比例,进行度量标准重建。

##1.读入一幅图像

imageDir = fullfile(toolboxdir('vision'), 'visiondata','upToScaleReconstructionImages');
images = imageDatastore(imageDir);
I1 = readimage(images, 1);
I2 = readimage(images, 2);
figure
imshowpair(I1, I2, 'montage');
title('Original Images');
```

##2.传入相机参数
- 本示例使用由cameraCalibrator应用计算的相机参数。这些参数存储在cameraParams对象中,并且包括相机固有特性和镜头畸变系数。
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly93dzIubWF0aHdvcmtzLmNuL2hlbHAvZXhhbXBsZXMvdmlzaW9uL3dpbjY0L1N0cnVjdHVyZUZyb21Nb3Rpb25FeGFtcGxlXzAxLnBuZw?x-oss-process=image/format,png)
````matlab
% 加载预先计算的相机参数
load upToScaleReconstructionCameraParameters.mat
```
##3.消除镜头变形
- 镜头变形会影响最终重建的准确性。您可以使用该undistortImage功能消除每个图像的失真。此过程使由于透镜的径向变形而弯曲的线变直。
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值