Duanxx的图像处理学习: 透视变换(一)
当人用眼睛看事物的时候,会感觉到近处的东西是比远处的东西要大一些的,通俗的说,这就是透视。
总的来说。透视变换是将3D的世界转换到2D图像上的一种手段,人的视觉系统和摄像头视觉系统也是基于这一工作原理。
对透视变化的研究,就是要搞明确。为什么我们看到的东西会近处大而远处的小。
一 參考系
透视变换最主要是用于測量,因此在说明透视变换之前。有必要说明一下參考系的问题。
为了有效的分析3D世界。以下五种參考系是必要的:
1. 对象參考系(Object)
有时候也叫做本地參考系(Local Coordinate Systems),能够将其粗鲁的理解为视界中某个物体的以自己为中心的坐标系。其作用范围只在物体本身。比方,当我们在为某个物体建模的时候,我们必须找到一个点,用于将建模用的模块组装起来。
这是一个三维坐标系。
2. 世界參考系(World)
也被称为宇宙坐标系(universe Coordinate Systems),这个坐标系是其它全部坐标系的基础,用于将其它的坐标系联系在一起。
这是一个三维坐标系。
3. 摄像头參考系(Camera)
一般来说,为了简化模型,我们会如果所使用的摄像头为针孔摄像头,而图像平面被觉得是在焦点前(相机中心)。
摄像头參考系为右手坐标系。而且将Z轴指向图像平面,见下图:
这是一个三维坐标系。
4. 图像參考系(Image Plane)
图像參考系就是在摄像头中的投影面,一般来说,图像參考系的中点就是相应摄像头的焦点的位置,图像平面和摄像头中心的距离为焦距,这个平面会和摄像头的Z轴垂直。
这个參考系的
这是一个二维坐标系。
5. 像素參考系(Pixel)
和图像參考系一样,这也是一个二维的坐标系,在像素參考系中的每一个点都有和图像參考系中有相应关系。
五个坐标系之间的空间关系:
这5个參考系之间的转换关系如此下:
上图就是从3D场景转换到2D图像的整个流程。
二 数学介绍
三 世界坐标系到摄像头坐标系
四 摄像头坐标系到图像坐标系
Duanxx的图像处理学习: 透视变换(一)的更多相关文章
- OpenCV图像处理学习笔记-Day1
OpenCV图像处理学习笔记-Day1 目录 OpenCV图像处理学习笔记-Day1 第1课:图像读入.显示和保存 1. 读入图像 2. 显示图像 3. 保存图像 第2课:图像处理入门基础 1. 基本 ...
- OpenCV图像处理学习笔记-Day03
OpenCV图像处理学习笔记-Day03 目录 OpenCV图像处理学习笔记-Day03 第31课:Canny边缘检测原理 第32课:Canny函数及使用 第33课:图像金字塔-理论基础 第34课:p ...
- OpenCV图像处理学习笔记-Day4(完结)
OpenCV图像处理学习笔记-Day4(完结) 第41课:使用OpenCV统计直方图 第42课:绘制OpenCV统计直方图 pass 第43课:使用掩膜的直方图 第44课:掩膜原理及演示 第45课:直 ...
- 深刻认识shift_ram IP core——图像处理学习笔记
在进行图像处理算法中,往往需要生成图像像素矩阵,这对于C语言来说可以直接用数据表示,但是对于verilog来说便不是那么容易了,硬件描述语言不比软件,它的核心不再算法,而是在于设计思想,加速硬件.在进 ...
- MATLAB数字图像处理学习笔记
我们都知道一幅图片就相当于一个二维数组,可以用一个矩阵来表示,而MATLAB可以说就是为矩阵运算而生的,所以学习图像处理,学习MATLAB势在必行! 一. MATLAB基础知识 1. 读取图像 %im ...
- 数字图像处理学习笔记之一 DIP绪论与MATLAB基础
写在前面的话 数字图像处理系列的学习笔记是作者结合上海大学计算机学院<数字图像处理>课程的学习所做的笔记,使用参考书籍为<冈萨雷斯数字图像处理(第二版)(MATLAB版)>,同 ...
- CS131&Cousera图像处理学习笔记 - L4&W2滤波和卷积
cs131: http://vision.stanford.edu/teaching/cs131_fall1617/ coursera: https://www.coursera.org/learn/ ...
- OpenCV 图像处理学习笔记(一)
解读IplImage结构 typedef struct _IplImage { int nSize; /* IplImage大小 */ int ID; ...
- Duanxx的STM32学习:STM32命名规则
随机推荐
- -webkit-filter是神马?
这些滤镜效果最初是用于SVG的,W3C引入到CSS中,然后制定了CSS Filter Effects 1.0,现在webkit率先支持了它. 现在规范中支持的效果有: - grayscale ...
- Google Chrome浏览器的使用方法
Google Chrome浏览器 [原文地址:http://www.cnblogs.com/QLeelulu/archive/2011/08/28/2156402.html ] 在Google Chr ...
- CentOS下Mysql安装调试
一.安装 yum安装:yum install -y mysql-server mysql mysql-devel 设置自启动:chkconfig mysqld on 启动MySQL:service ...
- Linux----给一个普通用户root权限
问题说明:linux可以通过useradd创建用户.那有没有想过.我们创建的用户怎么样才可以使它得到全部的root权限呢? 解决办法: 1.这是一个可以打80分的办法.就是编辑/etc/sudoers ...
- Oracle连接数过多释放机制
Oracle连接数过多释放机制 sqlplus /nolog 打开sqlplus connect /as sysdba 使用具有dba权限得用户登陆oracle ...
- libcurl编译
下载: git://github.com/bagder/curl.git openssl: openssl编译 for linux or mingw:./buildconf./configure ...
- [虚拟化/云][全栈demo] 为qemu增加一个PCI的watchdog外设(九)
目的 1. 使用verilog/vhdl设计一个PCI的watchdog设备. 2. 通过systemverilog 写testbench. 很久之前研究过AC97的verilog代码.但是很久没用v ...
- javascript获取url地址问好后面的值,包括问号
javascript获取url地址问好后面的值,包括问号 <!DOCTYPE html> <html lang="en"> <head> < ...
- 请问下mtk双卡手机怎样发短信是怎样选择sim卡来发(双卡都可用的情况下)?
如题,我如今可以获取双卡状态,当仅仅有单一卡的时候可以指定sim卡进行发短信,可是双卡都可用的情况下,程序就默认使用卡1发短信了.即使指定了sim卡编号.
- HTML5 新增通用属性
一:HTML5保留的常用元素 7. 表格相关元素.表格在html里还算重要的了. <table> :用于表格定义. cellpadding: 单元格内容和单元格边框距离 ...