我是靠谱客的博主 瘦瘦大白,最近开发中收集的这篇文章主要介绍世界坐标系,图像坐标系,车体坐标系,雷达坐标系转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

许多场合下都需要用到坐标系的转换,那么坐标系转换中最重要最核心的就是RT矩阵,

                                                                                 begin{bmatrix} ax\ ay\ az end{bmatrix}=R*begin{bmatrix} bx\ by\ bz end{bmatrix}+T

R矩阵是将坐标系b旋转为坐标系a下的旋转矩阵,T为B坐标系在A坐标系下的坐标,如果要改变方向将A坐标系下的点转换为B坐标系下的点的话,要重新计算新的RT矩阵

                                                                              begin{bmatrix} bx\ by\ bz end{bmatrix}=R'*begin{bmatrix} ax\ ay\ az end{bmatrix}+T'

                                                                      R'=inv(R); T'=-R'*T;

从世界坐标系到相机图像的转换:
                                                                          a*begin{bmatrix} c\ r\ 1 end{bmatrix}=K*[R ,T']*bigl(begin{smallmatrix} X\ Y\ Z\ 1 end{smallmatrix}bigr)

K矩阵是相机的内参数矩阵,基本计算理论是小孔成像,主要涉及到的参数是相机焦距,x,y轴的像素分辨率(pix/sel),相机的主点

                                                                         K=begin{bmatrix} fNc &0 &NcPx \ 0&fNr & NrPy\ 0&0 &1 end{bmatrix}\ \

Px,Py就是相机主点坐标,f为焦距,NcNr为像素分辨率

需要注意的是R矩阵是一个正交矩阵,如果打乱旋转的顺序,并不会产生影响,只需要把R矩阵右乘的坐标顺序相应转换就行了:

R=Rx*Ry*Rz:对应的就是[x,y,z]

R=Ry*Rz*Rx:对应的就是[y,z,x]

x,y,z轴分别代表pitch,roll,azimuth

%x,y,z代表对应的角度
Rx=[1 0 0;0 cos(x) sin(x);0 -sin(x) cos(x)];
Ry=[cos(y) 0 -sin(y);0 1 0;sin(y) 0 cos(y)];
Rz=[cos(z) sin(z) 0;-sin(z) cos(z) 0; 0 0 1];

当图像被resize时,外参数不变,K矩阵的前两行才需要乘以一个系数:

 

最后

以上就是瘦瘦大白为你收集整理的世界坐标系,图像坐标系,车体坐标系,雷达坐标系转换的全部内容,希望文章能够帮你解决世界坐标系,图像坐标系,车体坐标系,雷达坐标系转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部