本仓库提供了基于DLT(Direct Linear Transformation)算法的MATLAB代码,旨在展示摄影测量中的基础技术及其应用成果。
该存储库包含了我关于摄影测量基本任务的实验代码。
**单应性数学基础**
此部分代码展示了如何对线和点进行单应性的基本转换。
**全景图生成**
在本实验中,将三个不同视角拍摄的照片拼接成一张全景图片。具体步骤如下:
- 通过围绕共同投影中心旋转相机来获取三张无视差的输入照片。
- 在每张图像中选择特征点,并确保这些点位于同一平面上以进行对应的分析。
- 利用选定的特征点估计从一幅图到另一幅图之间的单应性变换。
- 使用奇异值分解(SVD)计算单应矩阵,然后将第一张图片校正至第二张图片所在的平面,再将经过校正后的第二、第三张图片合并为一张全景图像。
**相机标定**
此实验介绍如何利用直接线性变换(DLT)进行相机的内外参数估计。
- 通过手动选取2D控制点并生成对应的3D控制点来进行对应分析(依据在校准对象上绘制的图案)。
- 至少需要六个以上的匹配点来执行DLT算法。
- 利用奇异值分解从这些对应关系中推导出投影变换矩阵,再利用RQ分解进一步细化该估计结果以获得相机的内参和外参。