计算机视觉电子科大答案
(a)ⅰ假设像平面的宽度是d,高度为h,相机的焦距为f,则横向和纵向的视场为:,ⅱ,ⅲ视场越大分辨率越低,视场越小分辨率越高。(b)ⅰ假设一点在相机坐标系中的坐标为(X,Y,Z),那么平面投影为(x,y),在像素坐标系中的坐标为(u,v)。则:,而投影点变换到像素坐标系中:最终:ⅱ坐标点为(12m,7m,103m),。(a)证明:设一条直线为,那么在透视投影条件下在像素坐标系中的投影为:由上式可以发现仍然可以表示为的形式,所以直线的投影仍为线。(b)(a)在定义一个 2N*12 的矩阵 P 之后,通过寻找 P’*P 的特征向量对应的最小特征值的方法建立要求的映射矩阵,并且把这个向量重构为一个 3*4 的矩阵。这和 3.1 节所描述的方法一致。通过获得矩阵的方法打印出输入(u,v)的值和产生的结果,二者看起来与空间中等价立方体的投影一致,所以该矩阵是可行的。把矩阵分解成 K[R,T]的形式,并用LinearCalib.mat这个文件产生代码,可以得到几个相关参数:rho= 3.3134e+ 003 u0 = 300.5 v0 = 300.5 theta= alpha=1.1177e+003 beta=1.1177e+ 003(b)因为在同一直线上,所以点(0,0,0),(1,1,1),和(5,5,5)都可以近似映射为点(300.5,287.4363)。此外,第二坐标值为 287.4631,287.4363 和值 287.4337 都已精确到小数点后第三位。其它对应点为:(?1,1,1) → (549.7931,143.4970);(1,?1,1) → (300.5,574.0207);(?1,?1,1) → (510.8559,408.8933)考虑到没有任何径向失真的条件下,这三个角点变换得到的值表明该矩阵能精确到恰当的精度。4.(a)对于图像 hall1.pgm,门的四个角在像坐标和物坐标中的值分别为:u=[183,361,205,358]; v=[109,155,917,805];x=[0,91,0,91];y=[182,182,0,0];这些点在本文中定义为一个 8*9 的矩阵,矩阵的特征向量对应的最小特征值定义为所要求的 H 矩阵。把 H 矩阵重构为一个 3*3 的矩阵可以得到:对输入的图像采用矩阵的逆矩阵,可以得到以下的结果,从这个结果可以看到,图像的失真表现为尺寸的拉伸。使用同样的方法和以下数据点处理edwardVI.pgm:u=[0,607,0,170]; v=[0,0,170,170]; x=[200,0,200,0]; y=[200,200,0,0];可以得到以下图像,从这副图可以看到,失真表现为图像朝向观察者方向的拉伸。类似的,使用这个方法和以下数据处理Checkerboard.pgm:u=[113,114,504,471]; v=[305,183,295,174]; x=[0,0,200,200]; y=[0,100,0,100];结果为:(b)使用与 a 中一致的 H 矩阵,并左乘矩阵T?1,右乘矩阵 U。其中 T 矩阵将图像数据旋转变换为中心点为(0,0),并且离起始点的平均距离为,而 U 矩阵对场景点采取与 T 同样的变换。对图像hall.pgm,图像处理结果与(a)中三个问题完全一致。T =U =对图像 hall1.pgm,产生矩阵为:(c)由 hall1.pgm 产生的图像如下,结果显示其不如前两种方法精确。对图像Checkerboard.pgm和Railroad.pgm采用同样的方法,每次选取场景中平面上的四个点来确定消失点。对于铁路图像,花费了很长时间来生成。与 hall1 类似,我们可以看到 checkerboard 的图像与(a)部分和(b)部分相比较“扁”一些。结果如下:(d)如果我们采用仿射而非映射变换的方法来描述从平面到平面的变换,就会存在 6 个自由度。仿射变换保留了线性和距离的比率。这表明它保留了平行线的特征,与映射变换不同,任何直线的中点在仿射变换中依然是投影线的中点。此外,映射变换不能保留投影对象的原特征,而仿射变换不会使任何线或面投影到无穷远处。仿射变换可用于表征类似于旋转,转换,膨胀,裁剪的结合。相对于映射变换的 11 个自由度,一般的仿射变换有 8 个自由度,所以尽管在面到面的变换中映射变换失去了 3 个自由度,但仿射变换却仅仅失去了 2 个自由度,因为它已经被限制于它能执行的变换中。对于映射变换,它可以使平面方形两个平行边的投影线在极限条件下交于一个消失点,从而使平面方形映射为三角形。而仿射变换保留了平行性,因此这种情况不会在仿射变换中发生。当场景中“前”“后”之间的距离较小时,仿射变换是较为理想的模型。因此,对于仿射变换来说由透视导致的尺寸的改变可以小到忽略不计。