您的位置:首页 > 其它

三点法求点三维坐标实验

2016-06-16 16:18 295 查看

1、实验目的

1)加深对标定原理的理解

2)验证一种单目求三维点坐标的方法

2、实验原理

1) ⎡⎣⎢uv1⎤⎦⎥=⎡⎣⎢1/dx0001/dy0u0v01⎤⎦⎥⎡⎣⎢f000f0001⎤⎦⎥⎡⎣⎢Xc/ZcYc/Zc1⎤⎦⎥

两个3×3矩阵是通过标定得到的内参数矩阵,可以认为它不随参照物的变化而变化,是一个固定值。能够利用图像中(u,v)的坐标求得(Xc/Zc,Yc/Zc)的值,设为(a,b)。这可以看作是三维空间坐标的透视投影,那么实际的坐标可设为

(a,b,1)∗Zc=(aZcbZcZc)

2)假如我们已经知道物体表面的任意三个点的实际距离l1,l2,l3。那么可以列出如下式子:



其中z1,z2,z3对应1)中的Zc,a1,b1…b3对应1)中的a和b。

三个未知数三个线性无关方程,理论上有解。

3、实验步骤

1)先在标定工具箱中利用里面的normalize函数通过已知的棋盘格坐标点求出(a,b),如图:



上面是图像坐标





接着是归一化后坐标

2)在Matlab中利用solve函数可求的方程组的解:



4、实验结果

1)求得的方程组的解为:







最后选取z1 = 2456.3,z2 = 2469.9,z3 = 2475.4

代入坐标式子得三个点的坐标为:



然后通过 ⎡⎣⎢XwYwZw⎤⎦⎥=R⋅⎡⎣⎢XcYcZc⎤⎦⎥+Tc,求出世界坐标:



5、实验误差分析

误差的来源主要有:

1)获取图像坐标点的误差。

2)实际空间距离的误差,即式子中l1,l2,l3有可能测量出现的误差。

解决误差的方法:

识别的点要尽量稳定,l1,l2,l3相比误差来说要尽可能大一些,使得相对误差尽量减小。

6、实验结论

根据实验得到结果可知,世界坐标下的误差能够让人接受,而且在摄像头坐标系下也能够反推证明两个点之间的距离是28mm左右。

如果要进行空间角度的测量的话,一方面可能对标定精度的要求要进一步提高,但还是不能保证得到结果的可靠性,因为角度对位置的变化比较敏感,一个小小的误差,可能使角度产生较大的偏移,这也是整个项目最大的问题所在。

总之,还是要看精度的要求,以及要考虑其他误差补偿的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: