通过PatchMatchStereo-cuda实现的双视图三维重建系统
项目说明:本项目是在通过PatchMatchMStereo—cuda实现的双目视图立体重建系统。
本项目采用的是非极线对齐的稠密匹配方法,即通过单应矩阵来实现。因此需要视图的位姿信息。
1.特征匹配:使用SITI特征检测算法,flann算法进行特征匹配,通过対体几何约束,滤出误匹配点
2.相机参数估计:
内参:对于已知相机内参的视图,通过读取k.txt文件,读入相机内参
对于未知相机内参的视图,本项目采用张正友相机标定法,因此保证输入棋盘视图至少大于三张,其每一张至少需要检测四个角点。
外参:采用本质矩阵分解的方法,求解内外参数
1.PatchMatchStereo:通过空间传播和自我迭代,找出正确的视差空间平面。
2.cuda实现:在进行并行计算时,由于空间传播需要借助邻近像素点的视差空间去迭代,因此采用红黑块的方法。
data目录中:img1是openmvg自带的测试图片,img9是自己通过手机拍摄的图片。
说明:这版代码中没有对应三维点云生成算法,已知了深度信息,可以自行计算对应点云信息。