OpenCV实现SfM(二):双目三维重建

使用OpenCV3.0实现双目三维重建,原理清晰,实践有效。
摘要由CSDN通过智能技术生成

注意:本文中的代码必须使用OpenCV3.0或以上版本进行编译,因为很多函数是3.0以后才加入的。
目录:

文章目录


#极线约束与本征矩阵

在三维重建前,我们先研究一下同一点在两个相机中的像的关系。假设在世界坐标系中有一点 p p p,坐标为 X X X,它在1相机中的像为 x 1 x_1 x1,在2相机中的像为 x 2 x_2 x2(注意 x 1 x_1 x1 x 2 x_2 x2为齐次坐标,最后一个元素是1),如下图。
这里写图片描述
X X X到两个相机像面的垂直距离分别为 s 1 s_1 s1 s 2 s_2 s2,且这两个相机具有相同的内参矩阵 K K K,与世界坐标系之间的变换关系分别为 [ R 1    T 1 ] [R_1\ \ T_1] [R1  T1] [ R 2    T 2 ] [R_2\ \ T_2] [R2  T2],那么我们可以得到下面两个等式
s 1 x 1 = K ( R 1 X + T 1 ) s 2 x 2 = K ( R 2 X + T 2 ) s_1x_1 = K(R_1X + T_1) \\ s_2x_2 = K(R_2X + T_2) s1x1=K(R1X+T1)s2x2=K(R2X+T2)
由于K是可逆矩阵,两式坐乘K的逆,有
s 1 K − 1 x 1 = R 1 X + T 1 s 2 K − 1 x 2 = R 2 X + T 2 s_1K^{-1}x_1 = R_1X + T_1 \\ s_2K^{-1}x_2 = R_2X + T_2 s1K1x1=R1X+T1s2K1x2=R2X+T2
K − 1 x 1 = x 1 ′ K^{-1}x_1 = x_1^{'} K1x1=x1 K − 1 x 2 = x 2 ′ K^{-1}x_2 = x_2^{'}

  • 69
    点赞
  • 364
    收藏
    觉得还不错? 一键收藏
  • 147
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 147
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值