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. 【memcache缓存专题(1)】memcache的介绍与应用场景

    简介 Memcached是一个高性能的分布式的内存对象缓存系统,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各 ...

  2. jsp是有自己的编译引擎的

    什么是jsp? JSP(Java Server Pages)是指: 在HTML中嵌入Java脚本代码 由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码 然后将生成的整个页面信息返回给客户端 ...

  3. [iOS]解决模拟器无法输入中文问题

    第一步:设置schem 菜单项 -> Product-> Scheme -> Edit Scheme ->  然后在弹出的界面里 选择OPtion 项, 设置 Applicat ...

  4. Android 动态改变布局属性RelativeLayout.LayoutParams.addRule()

    我们知道,在 RelativeLayout 布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可. 但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的 ...

  5. 机器学习 —— log-linear 模型

    昨天刚刚解决了 logistic regression 之后今天又来了个有趣的家伙. logistic regression 很强大,但是也有它的弱点.它最大的弱点就是只能告诉你是或者不是,而无法告诉 ...

  6. 利用qt打开一张图片并转成灰度矩阵

    首先是mat类,这个类的主要作用是构造一个容器,并将对应像素的灰度值放在容器内 #ifndef MAT_H #define MAT_H #include <vector> #include ...

  7. Case Study: Random Number Generation(翻译教材)

    很荣幸,经过三天的努力.终于把自己翻译的教材做完了,现在把它贴出来,希望能指出其中的不足.   Case Study: Random Number Generation Fig. 6.7  C++ 标 ...

  8. C/C++面试题(一)

    1.手写快速排序 void quick_sort(int s[], int l, int r) { if (l < r) { //Swap(s[l], s[(l + r) / 2]); //将中 ...

  9. NDK(21)JNI的5大正确性缺陷及优化技巧(注意是正确性缺陷)

    转自 : http://www.ibm.com/developerworks/cn/java/j-jni/index.html JNI 编程缺陷可以分为两类: 性能:代码能执行所设计的功能,但运行缓慢 ...

  10. [POJ3694]Network(LCA, 割边, 桥)

    题目链接:http://poj.org/problem?id=3694 题意:给一张图,每次加一条边,问割边数量. tarjan先找出所有割边,并且记录每个点的父亲和来自于哪一条边,然后询问的时候从两 ...