双⽬⽴体匹配流程详解
原⽂链接
双⽬⽴体匹配⼀直是双⽬视觉的研究热点,双⽬相机拍摄同⼀场景的左、右两幅视点图像,运⽤⽴体匹配匹配算法获取视差图,进⽽获取深度图。⽽深度图的应⽤范围⾮常⼴泛,由于其能够记录场景中物体距离摄像机的距离,可以⽤以测量、三维重建、以及虚拟视点的合成等。
但是对于想⾃⼰尝试拍摄双⽬图⽚进⾏⽴体匹配获取深度图,进⾏三维重建等操作的童鞋来讲,要做的⼯作是⽐使⽤校正好的标准测试图像对要多的。因此博主觉得有必要从⽤双⽬相机拍摄图像开始,捋⼀捋这整个流程。
主要分四个部分讲解:
摄像机标定(包括内参和外参)
双⽬图像的校正(包括畸变校正和⽴体校正)
男生穿着打扮⽴体匹配算法获取视差图,以及深度图
利⽤视差图,或者深度图进⾏虚拟视点的合成
表达心情的词语
荷花课文 注:如果没有双⽬相机,可以使⽤单个相机平⾏移动拍摄,外参可以通过摄像机⾃标定算出。我⽤⾃⼰的⼿机拍摄,拍摄移动时尽量保证平⾏移动。
⼀、摄像机标定
1.内参标定
袁厉害 摄像机的内参包括,fx, fy, cx, cy,以及畸变系数[k1,k2,p1,p2,k3],详细就不赘述。我⽤⼿机对着电脑拍摄各个⾓度的棋盘格图像,棋盘格图像如图所⽰:
使⽤OpenCV3.4+VS2015对⼿机进⾏内参标定。标定结果如下,⼿机镜头不是鱼眼镜头,因此使⽤普通相机模型标定即可:
2.外参标定
摄像机外参反映的是摄像机坐标系和世界坐标系之间的旋转R和平移T关系。如果两个相机的内参均已知,并且知道各⾃与世界坐标系之间的R1、T1和R2,T2,就可以算出这两个相机之间的Rotation和Translation,也就找到了从⼀个相机坐标系到另⼀个相机坐标系之间的位置转换关系。摄像机外参标定也可以使⽤标定板,只是保证左、右两个相机同时拍摄同⼀个标定板的图像。外参⼀旦标定好,两个相机的结构就要保持固定,否则外参就会发⽣变化,需要重新进⾏外参标定。激励自己的诗句
那么⼿机怎么保证拍摄同⼀个标定板图像并能够保持相对位置不变,这个是很难做到的,因为后续⽤来拍摄实际测试图像时,⼿机的位置肯定会发⽣变化。因此我使⽤外参⾃标定的⽅法,在拍摄实际场景的两张图像时,进⾏摄像机的外参⾃标定,从⽽获取当时两个摄像机位置之间的Rotation和Translation。
⽐如:我拍摄这样两幅图像,以后⽤来进⾏⽴体匹配和虚拟视点合成的实验。
爱情败给了现实
① 利⽤摄像机内参进⾏畸变校正,⼿机的畸变程度都很⼩,校正后的两幅图如下:
邪恶的欲望
② 将上⾯两幅畸变校正后的图作为输⼊,使⽤OpenCV中的光流法提取匹配特征点对,pts1和pts2,在图像中画出如下:
电脑黑屏是什么原因