推导相机变换矩阵
来源:互联网 发布:淘宝男装品牌 知乎 编辑:程序博客网 时间:2024/06/05 20:45
参考 推导相机变换矩阵 : http://blog.csdn.net/popy007/article/details/5120158
在上面的文章中,了解到坐标转换公式。
具体的公式: P = MA * PA = MB * PB
(其中 MA 是一个矩阵,代表一个坐标系,MB也是一个矩阵,代表一个坐标系,那么PA,PB就是各自坐标系的点)
开始推导:
1. 相机的变换矩阵,其实就是为了把 世界坐标系中的 物体 变换到 相机坐标系中,简单地所就是,PW * M = PC, 其中 PW就是世界坐标系中的一个点,M就是这个相机的变换矩阵,得到的PC就是PW在相机坐标系中对应的点。
2. 所以,我们要求的就是这个矩阵M,由坐标转换公式得到,P = MW * PW = MC * PC ,其中,MW 是世界坐标系矩阵,PW是世界坐标系的点,MC是相机坐标系的矩阵,PC是相机坐标系下的点。
MW * PW = MC * PC
=》 PW = MC * PC (由于MW是单位矩阵)
3. PW = MC * PC
那么怎么表示MC ,MC其实利用相机的UVN, pos就可以表示,
MC = | Ux Vx Nx Tx |
| Uy Vy Ny Ty |
| Uz Vz Nz Tz |
| 0 0 0 1 |
上面的 MC 其实可以表示为两个矩阵相乘
MC = | Ux Vx Nx Tx | => | 1 0 0 Tx | * | Ux Vx Nx 0 |
| Uy Vy Ny Ty | | 0 1 0 Ty | | Uy Vy Ny 0 |
| Uz Vz Nz Tz | | 0 0 1 Tz | | Uz Vz Nz 0 |
| 0 0 0 1 | | 0 0 0 1 | | 0 0 0 1 |
MC = (MT) * (MR)
4. 看回 PW = MC * PC 其实,我们要求的是PC,所以得到,
PC = MC^(-1) * PW
看到这里,其实,MC^(-1) 就是我们需要求的相机变换矩阵。
根据上面的MC的表示,(如果A,B,C都是方阵 , (ABC)^(-1)=(C^-1)(B^-1)(A^-1))
MC^(-1) = (MT * MR) ^(-1)
= MR ^(-1) * MT^(-1)
| Ux Vx Nx 0 | | 1 0 0 Tx |
( | Uy Vy Ny 0 | ) ^(-1) * ( | 0 1 0 Ty | ) ^ (-1)
| Uz Vz Nz 0 | | 0 0 1 Tz |
| 0 0 0 1 | | 0 0 0 1 |
(因为MR是正交矩阵,所以逆就是转置)
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵
- 推导相机变换矩阵(转载添加自己注释)
- 变换矩阵推导
- 矩阵变换推导
- 相机变换矩阵
- 相机变换矩阵
- 相机变换矩阵
- OpenGL取景变换(视图变换)矩阵推导
- 矩阵变换:逆矩阵的推导
- Java多线程并发处理
- Java并发
- nodejs PM2的使用【陆续整理更新……】
- 515. Find Largest Value in Each Tree Row
- 九度1051:数字阶梯求和
- 推导相机变换矩阵
- POJ1742 Coins 【多重背包】
- Android 如何去掉App全局的标题栏
- 直接选择排序
- c++ 多态介绍
- ajax参数
- cocos2dx3.14.1+win10+VS2017环境搭建
- 汇编实验:查找匹配字符串
- ESP8266-12F模块更新固件的方法