【图形学】关于透视校正
关于透视校正
使用如下的矩阵进行透视投影:
p r o j = [ n 0 0 0 0 n 0 0 0 0 n + f n f 0 0 − 1 0 ] \mathrm{proj}=\begin{bmatrix} n&0&0&0\\0&n&0&0\\0&0&n+f&nf\\0&0&-1&0 \end{bmatrix} proj=⎣⎢⎢⎡n0000n0000n+f−100nf0⎦⎥⎥⎤
假设有两个点 P ( x 1 , y 1 , z 1 , w 1 ) , Q ( x 2 , y 2 , z 2 , w 2 ) P(x_1,y_1,z_1,w_1),Q(x_2,y_2,z_2,w_2) P(x1,y1,z1,w1),Q(x2,y2,z2,w2),进行变换后得到的点为 P ′ ( n x 1 , n y 2 , ( n + f ) z 1 + n f w 1 , − z 1 ) , Q ′ ( n x 2 , n y 2 , ( n + f ) z 2 + n f w 2 , − z 2 ) P'(nx_1,ny_2,(n+f)\,z_1+nfw_1,-z_1),Q'(nx_2,ny_2,(n+f)\,z_2+nfw_2,-z_2) P′(nx1,ny2,(n+f)z1+nfw1,−z1),Q′(nx2,ny2,(n+f)z2+nfw2,−z2).
对于变换卡后的 x , y x,y x,y 坐标,他们的之间的差呈现正比关系,但是对于 z z z 坐标,呈现出非正比的关系,即 z 2 / w 2 − z 1 / w 1 ∝̸ − ( n + f ) − n f w 2 / z 2 + ( n + f ) + n f w 1 / z 1 z_2/w_2-z_1/w_1\not\propto -(n+f)-nfw_2/z_2+(n+f)+nfw_1/z_1 z2/w2−z1/w1∝−(n+f)−nfw2/z2+(n+f)+nfw1/z1.
但是我们注意到对于变换后的 z z z 坐标,其差为
( w 1 z 1 − w 2 z 2 ) n f \left(\cfrac{w_1}{z_1}-\cfrac{w_2}{z_2}\right)\,nf (z1w1−z2w2)nf
正比于变换之前的坐标倒数之差
w 1 z 1 − w 2 z 2 \cfrac{w_1}{z_1}-\cfrac{w_2}{z_2} z1w1−z2w2
这是一个重要的性质。
【图形学】关于透视校正相关推荐
- 图形学基础之透视校正插值
透视校正插值 (Perspective-Correct Interpolation) 问题的提出 在使用光栅化的图形学方法中,法线,颜色,纹理坐标这些属性通常是绑定在图元的顶点上的.在3D空间中,这些 ...
- OpenCV透视校正perspective correction的实例(附完整代码)
OpenCV透视校正perspective correction的实例 OpenCV透视校正perspective correction的实例 OpenCV透视校正perspective correc ...
- 图片透视校正 java js_iOS 使用OpenCV 实现图片的透视校正
孤独的香蕉.png 一.前言 写这篇博客的目的为记录,并且供大家学习,希望大家多多交流,有不正确的地方请指正,轻喷.!~~ 二.透视校正 简介 透视校正或者称为透视控制是对照片进行合成或者编辑以得到符 ...
- 图形学笔记 —— 透视除法
图形学笔记 -- 透视除法 本文采用左手坐标系,即z轴向屏幕里增长. 透视投影变换 透视投影变换,有三个词组成:透视.投影.变换.我们逐个来理解. 透视:我理解为"有远近感"的,也 ...
- 【转】图形学基础之透视校正插值
原文链接:https://blog.csdn.net/n5/article/details/100148540
- 自动透视校正为四边形对象
参考opencv开源上的,跑通了 注释了一下,以便后续学习 #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/hig ...
- matlab如何进对图像进行透视变换,如何根据已知的内在和外在参数在Matlab中进行透视校正?...
对于那些在这么多个月后仍对此感兴趣的人,我的代码(http://www.csse.uwa.edu.au/~pk/research/matlabfns),尤其是homography2d.m函数 . 但是 ...
- 计算机图形学之光线跟踪算法的研究与实现2017年我的优秀毕业论文
计算机图形学之光线跟踪算法的研究与实现2017年我的优秀毕业论文 版权所有使用者请联系我 刘创 QQ:903188593 2.2.2 Phong光照模型 事实上对于漫反射的物体表面,使用Lambert ...
- 深入探索透视纹理映射(下)
深入探索透视纹理映射(下) 我的建议:建议学习一下图形学的知识 计算机图形学 赵明.李振波 中国农业大学 公开课 第二讲 光栅图形学算法 http://www.icourse163.org/le ...
最新文章
- 网络摄像机ip修改工具_网络监控怎么连接网络
- 【ACE Meetup天津站】云计算时代的运维管理
- r语言ggplot怎么把多个维度数据合并在一个图中表示_R语言作图——Histogram
- 【运筹学】运输规划求最大值 ( 运输规划求最大值问题示例 | 转为运输规划求最小值的方式 )
- 局域网内计算机可以互访 无法上互联网,我使用路由器后访问互联网正常,但是网上邻居不能互访,怎么办?...
- 命令行 java文本编辑工具 重载 内存区域 栈 堆
- Linux第二次作业
- 试用阿里开源的Arthas小记
- c语言上机作业题及答案,华为C语言上机试题及答案
- 【061】百度迁徙-用地图大数据演绎国人的迁徙史诗
- php中怎么设置透明背景图片,css怎样设置背景透明
- 软件设计的启发规则---层次图,HIPO图和结构图----画数据流图
- windows下安装wget
- SpringCloud版本选择
- 总结在mac电脑上安装brew
- 浏览器无法访问gitlab.nicky.com解决办法
- 简述PHP是什么?PHP文件是什么?
- 当原图片加载失败时,如何让图片加载上我们默认给的图片
- GCN:图卷积神经网络
- DUMeter图形直观显示网络流量的监视器
热门文章
- Hooks编程扫盲(一)-- useSWR
- 职称计算机考试 word,全国职称计算机考试-word
- 寒春:2013年2月的RSA Conference与硅谷
- 关于tomcat环境下上传大文件遇到的问题及解决办法
- 学神争霸!2019清华本科生特奖答辩入围名单公布
- c# 软件皮肤自定义
- 给妹子讲python-S01E09文件操作小意思
- 计算机博弈程序python_编写 Python 程序,按下列要求完成计算: 输入两个点的坐标(x1, y1)和(x2, y2),...
- mysql什么场景下要防止幻读_灵魂拷问,MySQL到底能否解决幻读问题
- python基础教程读书笔记——第三章 字符串