【发布时间】:2014-03-12 06:25:06
【问题描述】:
我一直在使用solvepnp() 来计算旋转和平移矩阵。但是从获得的旋转矩阵计算出的欧拉角给出了非常不稳定的值。为了找出问题所在,我为我的标记设置了一组 2D 投影点,并将 solvepnp() 的其他参数保持不变。
例如值:
二维点[219.67473, 242.78395;363.4151, 238.61298; 503.04855, 234.56117;501.70917, 628.16742; 500.58069, 959.78564; 383.1756, 972.02679;262.8746, 984.56982; 243.17044, 646.22925]
solvepnp()的输出旋转矩阵计算得到的欧拉角theta(x)为-26.4877
接下来,我只将第一个点的 x 值(即 219.67473)增加了 0.1,以检查 theta(x) 欧拉角的变化(保持其余点和其他参数不变)并运行 solvepnp()再次。对于那个非常小的变化,我的值从-19度,-18度(x坐标= 223.074)然后突然跳到27度一段时间(x坐标= 223.174到226.974)然后下降到 1.3 度(对于 x 坐标 = 227.074)。
我根本无法理解这种行为。有人可以解释一下吗? 我从旋转矩阵计算欧拉角使用this procedure。
【问题讨论】:
标签: ios opencv rotational-matrices euler-angles