当前位置:   article > 正文

三维重建_i1 = undistortimage(i1, cameraparams);

i1 = undistortimage(i1, cameraparams);

微信公众号:小白图像与视觉
关于技术、关注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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号