var bdots = "../"

var sequence = [
'l1', 'l2', 'l3', 'l4'
];

Chapter1是个总览,引出了射影几何的概念,通过在欧式空间中,添加一条位于无穷远处的线,所有平行线相交于此线上来构成射影空间。之前只接触过初等几何的知识,于是我学习了一下解析几何的知识,书籍是丘维声的《解析几何》,以此作为入门教材,还是很不错的,书中引述了Erlangen Program,即每种几何都是研究图形在一定的变换群下不变的性质。本书中在Chapter2中也提到了这一观点,并随后介绍了一些变换群及不变量。

也提出了Homogeneity的概念,即用(x,y,w)表示一类点,w为缩放系数,几何意义就变成了某一条线上的所有点,书中也提到了点和线是等价的,从刚才也可以看出,一类位于一条线上的点也就代表了一条线。上学期的图形学课也涉及到了这个概念,是从平移变换的矩阵形式阐述的:如果用2*2矩阵点乘(x,y)不好表示平移变换,于是扩展成了3*3矩阵点乘(x,y,w)。

欧式几何,仿射几何,投影几何。之前说了,投影几何是添加infinite points,不过并不与其他线区分,每条线都可以是line at infinity,于是没有平行的性质。仿射几何特化了line at infinity,两条平行线相交于无穷远处一点,具有平行的性质。欧式几何则是by singling out first a line at infinity and subsequently, two points called circular points lying on this line then affine geometry becomes Euclidean geometry 。二维中这两个点是(1,+-i,0),想象一下,欧式空间中两个椭圆顶多相交点有两个,但是在仿射空间中有四个(两个在无穷远处),用homogeneous coordinates (x, y, w) 写出的椭圆方程


\begin{equation}
(x-aw)^2 +(y-bw)^2 =r^2w^2.
\tag{1}
\end{equation}

可以发现,每个椭圆都经过(1,±i,0)T 并且他们是在无穷远处的,they are called the circular points of the plane 。比如仿射几何中不区分椭圆与圆,他们之间可以经由仿射变换得到,但是欧式几何中则有形状作为不变量,书中说In particular, concepts such as angle and length ratios may be defined in terms of the circular points. 目前还不太不太理解。不过仿照仿射几何中线的朝向是由线与无穷远处交点定义的,它的意思应该也差不多。

If the camera centre moves, then the images are in general not related by a projective transformation, unless all the space points are coplanar. 如果点共面,那么不同的camera centre就可以用一个投影变换关联原平面与之后的成像平面。经由IAC可以校准camera,IAC的概念还没看,待解决。之后大体介绍了如何由2 views, 3 views, n views 进行3d还原,但是由于可以在成像的投影变换中添加任意的投影变换,即


\begin{equation}
P_jX_i=(P_jH^{-1})(HX_i)
\tag{2}
\end{equation}

,“the reconstruction has a projective ambiguity ”这些还原可能出现如下的误差

具体如何重建见后续。

posted on 2015-04-22 20:53 Billily 阅读(...) 评论(...) 编辑 收藏

Multiple View Geometry in Computer Vision Second Edition by Richard Hartley 读书笔记(一)的更多相关文章

  1. Multiple View Geometry in Computer Vision Second Edition by Richard Hartley 读书笔记(二)

    // Chapter 2介绍的是2d下的投影变换,摘录下了以下定理 Result 2.1. The point x lies on the line l if and only if xTl = 0. ...

  2. Multiple View Geometry in Computer vision 1.1节部分翻译

    1.1简介—无处不在的投影几何 我们都熟悉射影变换.当我们看一幅图,我们看到的方形不是方形,或圆形不是圆形.平面立体映射到图片上的变换是一个投影变换的例子. 因此投影变换时保留的几何属性是什么呢?当然 ...

  3. Computer Vision Algorithm Implementations

    Participate in Reproducible Research General Image Processing OpenCV (C/C++ code, BSD lic) Image man ...

  4. Computer Vision Resources

    Computer Vision Resources Softwares Topic Resources References Feature Extraction SIFT [1] [Demo pro ...

  5. Computer Vision Tutorials from Conferences (3) -- CVPR

    CVPR 2013 (http://www.pamitc.org/cvpr13/tutorials.php) Foundations of Spatial SpectroscopyJames Cogg ...

  6. paper 156:专家主页汇总-计算机视觉-computer vision

    持续更新ing~ all *.files come from the author:http://www.cnblogs.com/findumars/p/5009003.html 1 牛人Homepa ...

  7. Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  8. Analyzing The Papers Behind Facebook's Computer Vision Approach

    Analyzing The Papers Behind Facebook's Computer Vision Approach Introduction You know that company c ...

  9. Computer Vision Tutorials from Conferences (2) -- ECCV

    ECCV 2012 (http://eccv2012.unifi.it/program/tutorials/) Vision Applications on Mobile using OpenCVGa ...

随机推荐

  1. [hackerrank]Palindrome Index

    简单题. #include <iostream> #include <string> using namespace std; int main() { int T; cin ...

  2. 【nginx网站性能优化篇(2)】反向代理实现Apache与Nginx的动静分离(LNMPA)

    为什么要使用反向代理 具体请参考这篇博文:[Linux常识篇(1)]所谓的正向代理与反向代理 在虚拟机上配置反向代理的步骤 首先假设你已经假设好了LNMP架构了,这时我们还要安装Apache和php, ...

  3. TCoolMemo

    我们先起个名字叫做TCoolMemo.以上篇已经讲了很多组件的技术,这里就只说出几个重点.其余不多说了. 首先,该Memo从CustomMemo继承,它有这样外观:属于平面的,边框是可以设置颜色的线, ...

  4. Spring AOP: Spring之面向方面编程

    Spring AOP: Spring之面向方面编程 面向方面编程 (AOP) 提供从另一个角度来考虑程序结构以完善面向对象编程(OOP). 面向对象将应用程序分解成 各个层次的对象,而AOP将程序分解 ...

  5. Java ssh 访问windows/Linux

     Java ssh 访问windows/Linux 工作中遇到的问题: Java code运行在一台机器上,需要远程到linux的机器同时执行多种命令.原来采用的方法是直接调用ssh命令或者调用pli ...

  6. Linux下禁用、启用SeLinux

    一些Linux默认都是启用SeLinux的,在安装操作系统的时候我们可以选择开启或者关闭SeLinux,但是在安装完系统之后又如何开启与关闭呢? 在/etc/sysconf下有一个SeLinux文件, ...

  7. C# 按拼音/笔划 排序的简单示例(转)

    class Program { static void Main(string[] args) { string[] arr = { "趙(ZHAO)", "錢(QIAN ...

  8. ASP.NET 数据绑定常用代码及其性能分析

    用DataBinder.eval 绑定不必关心数据来源(Dataread或dataset).不必关心数据的类型eval会把这个数据对象转换为一个字符串.在底层绑定做了很多工作,使用了反射性能.正因为使 ...

  9. JAVA中获取项目文件路径

    在java中获得文件的路径在我们做上传文件操作时是不可避免的. web 上运行 1:this.getClass().getClassLoader().getResource("/" ...

  10. jenkins mac slave 设置

    1.在jenkins上增加节点, 2,在mac系统中将ssh的服务打开在偏好设置- 互联网与无线 - 共享中 3,使用mac root用户修改sshd-config的鉴权方式 首先获取到root用户登 ...