基于点对匹配的双目视觉三维重建系统
项目介绍
本项目实现了一个基于双目视觉的三维重建算法系统。通过输入左右相机拍摄图像对应的匹配点对矩阵,系统能够自动计算相机投影矩阵和基础矩阵,进而恢复场景在射影空间下的三维坐标。本系统包含匹配点对验证、相机投影矩阵计算和三角测量等核心模块,最终输出三维点在射影空间中的齐次坐标。
功能特性
- 匹配点对验证:对输入的匹配点对进行筛选和验证,确保数据可靠性
- 基础矩阵计算:准确计算左右视图之间的基础矩阵F
- 投影矩阵恢复:从基础矩阵推导左右相机的投影矩阵
- 三角测量:通过投影矩阵计算三维空间点的齐次坐标
- 误差评估:对重建结果进行精度评估和可视化
使用方法
- 准备输入数据:Matlab格式的双目图像匹配点对矩阵(Mx4矩阵,每行为左图像点坐标[ul vl]和右图像点坐标[ur vr])
- 运行主程序main.m
- 查看输出结果:
- 三维点坐标矩阵(Nx4的齐次坐标矩阵,每行[X,Y,Z,W]为射影空间下的三维点)
- 基础矩阵F(3x3矩阵)
- 左右相机的投影矩阵(3x4矩阵)
系统要求
- MATLAB R2018b或更高版本
- 图像处理工具箱
- 优化工具箱(可选,用于提高计算精度)
文件说明
主程序封装了完整的双目三维重建流程,包括数据预处理、基础矩阵估计、相机投影矩阵计算、三维点三角测量以及结果验证等核心功能模块。程序首先对输入匹配点进行归一化处理以提高数值稳定性,随后通过RANSAC方法鲁棒估计基础矩阵,接着分解出相机投影矩阵,最后利用线性三角测量法恢复三维坐标,并对重建精度进行评估和可视化展示。