首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >给定内部、外部和Y=0约束的二维像素的深度估计

给定内部、外部和Y=0约束的二维像素的深度估计
EN

Stack Overflow用户
提问于 2015-03-27 14:55:08
回答 1查看 1.3K关注 0票数 1

我在离地面一定高度(h)有一个单视角照相机。通过校准,我得到了本征参数K,旋转矩阵和平移向量R_t,因为我完全可以接触到相机和环境,所以我可以测量我想要的任何东西。我的目标是估计相机上的像素u,v的深度,因为我知道像素在地板上(相对于摄像机,它在y=-h处)。鉴于这一限制,我做了以下工作(但没有成功):

  • 从u,v和摄像机参数+焦距创建一个新的三维点P1 :u,v,f
  • 用相机矩阵K的逆乘以P,然后调用结果P2
  • 用R=t矩阵的逆乘积P2,并调用结果P3
  • P3是一个4x1向量,因此我们将其规范化,并将其降到3x1 X1、Y1、Z1。这一点应该是我的u,v点的世界坐标投影。
  • 用以下方式求解Y=-h时的X和Z:
    • X= x1 * (-h / y1)
    • Y= z1 * (-h / y1)

不幸的是它看上去不对!我在这个问题上已经解决了两个星期,如果能得到社会的一些帮助,那就太好了。我肯定这是显而易见的,我错过了。

再次感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-27 17:05:49

同质图像坐标是P1 = [u,v,1],或[f*u,f*v,f]

与相机矩阵的逆乘法给你一条光线,沿着它的三维点被定位。P2 ~= K⁻¹ * P1 (~= is equality up to a scale factor)

假设摄像机位于C(相机坐标系中的(0,0,0,1) ),矢量P2具有形式[x,y,z,0]。(结尾的零使其翻译不变!)

然后,你要寻找的3D点位于C + k*P2,你必须对变量k进行求解。

代码语言:javascript
复制
P3 = Rt⁻¹ * (C + k*P2)
P4 = C2  + k * P3   

C2是相机在世界坐标中的位置。P3是世界坐标下的矢量。P4是你在Y=-h的重点

最后,插入约束Y=-h并使用y组件计算y

代码语言:javascript
复制
k = (-h - C2_y) / P3_y
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29303647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档