双目相机的三维重建
一.步骤
- 摄像机的标定(内参和外参)
- 双目图像的标定(张正友标定法)
- 立体匹配算法获得视差图
- 生成深度图
- 进行三维重建
二.详细过程
1.摄像机的标定
内参,摄像机内参反映的是摄像机坐标系到图像坐标系之间的投影关系。摄像机内参的标定使用张正友标定法,简单易操作。去网上找棋盘格,从不同角度用双目相机进行拍摄,建议20张左右。然后运用Maltab进行标定。
外参,摄像机外参反映的是摄像机坐标系和世界坐标系之间的旋转R和平移T关系。如果两个相机的内参均已知,并且知道各自与世界坐标系之间的R1、T1和R2,T2,就可以算出这两个相机之间的Rotation和Translation,也就找到了从一个相机坐标系到另一个相机坐标系之间的位置转换关系。摄像机外参标定也可以使用标定板,只是保证左、右两个相机同时拍摄同一个标定板的图像。外参一旦标定好,两个相机的结构就要保持固定,否则外参就会发生变化,需要重新进行外参标定。
2.双目图像标定。
先进行单目标的标定,再进行双目标的标定,我是采用的matlab手工标定。
双目标定后的结果:
3.视差图
(1)BM算法
(2)GC算法
(3)SGBM算法
BM、GC和SGBM算法性能比较:
(1)视差效果:BM<SGBM<GC;
(2)处理速度:BM>SGBM>GC;
(3)图像类型:BM和GC算法只能对8位灰度图像计算视差,SGBM算法可以处理24位彩色图像;
我生成的视差图:
4.深度图
5.三维重建