OpenGL投影矩阵与相机模型(Set Projection Matrix for Pinhole Camera Model)
出处:http://oliver.zheng.blog.163.com/blog/static/1424115952013349234838/
(转载自"结冰的雪"百度空间)
目的:用OpenGL模拟针孔相机的视角。
针孔相机模型(Pinhole camera model):内参(intristric parameters)f(focal length)、cc(principle point)、kc(distroations)、alpha_c(skew coefficient);外参(extristric parameters)R(旋转)、t(平移)。详见http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/parameters.html。相机可以用http://www.vision.caltech.edu/bouguetj/calib_doc/的方法标定(Calibrate)。
OpenGL 投影矩阵(projection matrix):推导过程详见http://www.songho.ca/opengl/gl_projectionmatrix.html,OpenGL的矩阵变换详见http://www.songho.ca/opengl/gl_transform.html。矩阵形式如下:
设置方法:
注意:fc与cc单位必须一致,或者为毫米,或者为像素。zfar与znear单位必须一致,一般为mm,即相机能看到的范围。而fc/cc与znear/zfar的单位可以不一致。
P的逆矩阵如下:
OpenGL 模型投影矩阵(modelview matrix):由于OpenGL默认视角位于原点,面向-z轴,而相机视角一般如下图所示,x轴向右,y轴向下,z轴向里,即物体在前方。所以要先将视角变化一下:gluLookAt(0, 0, 0, 0, 0, 1, 0, -1, 0)可以完成这个任务,它产生矩阵Mv。
世界坐标变换到相机坐标需要一个矩阵Mc,由旋转和平移构成:
所以最终的modelview matrix为:
至此P、M全部设置完成。
关于镜头畸变(lens distortion):这个比较复杂,如果镜头的畸变比较小简单忽略掉就可以了。如果不能忽略可以参考以下内容:
Lens Correction and Distortion:http://paulbourke.net/miscellaneous/lenscorrection/
OpenGL投影矩阵与相机模型(Set Projection Matrix for Pinhole Camera Model)相关推荐
- 投影和环境相机模型(PBRT)
本文出自Physcially Base Rendering翻译 地址:https://pbr-book.org/3ed-2018/Camera_Models/Projective_Camera_Mod ...
- Pinhole camera model相机模型
相机模型 数码相机图像拍摄的过程实际上是一个光学成像的过程.相机的成像过程涉及到四个坐标系:世界坐标系.相机坐标系.图像坐标系.像素坐标系以及这四个坐标系的转换. 理想透视模型--针孔成像模型 相机模 ...
- 1. pinhole camera model 小孔相机模型【cs231a课程笔记】
文章目录 同系列链接 1.1. pinhole camera model 1.2. lens-based model (paraxial refraction model) distortion 1. ...
- opengl 投影矩阵和深度测试
写在前面 上一节我们使用AssImp加载了3d模型,效果已经令人激动了.但是绘制效率和场景真实感还存在不足,接下来我们还是要保持耐心,继续学习一些高级主题,等学完后面的高级主题,我们再次来改进我们加 ...
- 相机投影原理、相机模型中的坐标系统以及标定方法(转载)
文章目录 0 引言 1 相机投影中的坐标系及其转换关系 1.1 世界坐标系与相机坐标系 1.2 相机坐标系与图像坐标系:称为摄像机模型以及投影矩阵 1.3 图像坐标系与像素坐标系 1.4 从世界坐标系 ...
- 【脚下生根】之深度探索安卓OpenGL投影矩阵
世界变化真快,前段时间windows开发技术热还在如火如荼,web技术就开始来势汹汹,正当web呈现欣欣向荣之际,安卓小机器人,咬过一口的苹果,winPhone开发平台又如闪电般划破了混沌的web世界 ...
- 模型矩阵、视图矩阵、投影矩阵
模型视图投影矩阵的作用,就是将顶点从局部坐标系转化到规范立方体(Canonical View Volnme)中.总而言之,模型视图投影矩阵=投影矩阵×视图矩阵×模型矩阵,模型矩阵将顶点从局部坐标系转化 ...
- OpenGL ES之九——相机和投影
概述 这是一个系列的Android平台下OpenGl ES介绍,从最基本的使用最终到VR图的展示的实现,属于基础篇.(后面针对VR视频会再有几篇文章,属于进阶篇) OpenGL ES之一--概念扫盲 ...
- 深入理解OpenGL之投影矩阵推导
深入理解OpenGL之投影矩阵推导 OpenGL流水线中的投影矩阵以及坐标变换 OpenGL中,投影矩阵在Vertex shader中使用,用于变换顶点.一般和Model, View矩阵结合成MVP矩 ...
最新文章
- Liunx下MySQL常用命令
- Linux中常见shell命令总结
- Docker Swarm 用compose部署WordPress
- 科大星云诗社动态20220112
- Mysql 5.8 参数调优
- java手动注册filter,SpringBoot如何注册Servlet、Filter、Listener的几种方式
- react学习(45)----react组件
- Go 语言发布 2018 调查报告,最被诟病问题竟然是......
- MATLAB 检验矩阵中是否有某些元素 对元素统计
- 在华为能拿多少工资,揭秘一个真实的华为!
- html怎么做实心圆,html5如何使用canvas画空心圆与实心圆
- 获取局域网远程主机ipv6地址
- 固态硬盘(SSD)原理及相关介绍
- 例题5-10 UVA 207 PGA Tour Prize Money PGA巡回赛的奖金
- The Chicken and the Pig
- h5页面跳转微信小程序。
- js获取input输入框的值
- 春运动车组穿越在祁连山兰新高铁线上
- ----不知道这是不是好友里的buge~~~
- 大学生计算机课程内容1000字,大学生计算机实习报告1000字【一】.doc