5 几何运算Geometry operations5.0图象坐标的变换,改变空间位置(分布)⎩⎨⎧==),('),('y x Y y y x X x5.1二维几何变换:平移、旋转、比例p87 5.2 坐标映射和插值p84- p86, p151 5.3 快速算法p87-885.4三维几何变换和透视变换:平移、旋转、比例、透视p88-91 5.5图象剪贴操作p861.镜象(Mirror ) 2.垂直镜象 3. 转置(Transpose)⎩⎨⎧=-=yy xN x ''⎩⎨⎧-==yN y xx ''⎩⎨⎧==xy yx ''4. 90︒旋转(Rotation )5. 180︒旋转⎩⎨⎧=-=xy yN x ''⎩⎨⎧-=-=yN y xN x ''5.1 2D Geometry Transformation奇次坐标关系:(正变换,逆变换) (1) S caling(Zoom in/ out)⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⇒⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛1''10100011110010001''y x s s y x y x s s y x y x y x y s y x s x y x ==⇒','y x s s ,取值:1)>=1 放大(zoom in ) 2) <=s<=1 缩小(zoom out ) 3) <0, e.g. s=-1 镜像(mirror ) (2) T ranslation图象平移y x t t --,,(坐标轴平移y x t t ++,)⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛++=⎪⎪⎪⎭⎫ ⎝⎛⇒⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎪⎭⎫ ⎝⎛1''10010011110010011''y x t t y x y x t t y x y x y x y x t y y t x x -=-=⇒','(3) R otation图象顺时针旋转α,(坐标轴逆时针α)⎪⎪⎪⎭⎫⎝⎛-=⎪⎪⎪⎭⎫ ⎝⎛⇒⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫⎝⎛-=⎪⎪⎪⎭⎫ ⎝⎛1000cos sin 0sin cos 111000cos sin 0sin cos 1''ααααααααy x y x y x(4) 组合矩阵yx y x t t s s , ,,α⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛1k h g f ed c b 1''y x a y x ,刚体运动下g=h=0,k=1 一般情况下不同变换不可交换:⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛11''222222222111111111y x k h g f e d c b a k h g f e d c b a y x (1) 平移+平移可交换,旋转+旋转可交换(2) 平移+平移不可交换,平移+比例不可交换 (5) 特例:1) 镜象(mirror )变换⎩⎨⎧-==yN y xx ''2) 转置(transpose )⎩⎨⎧==x y yx ''问题:能否用一般平移、旋转、比例表示?5.2 坐标映射和插值、特点:生成一张逐点的2D 图象⎩⎨⎧==),('),('y x Y y y x X x 已知: I(x,y),在整数坐标上的灰度值生成新图象:将(x,y) 处的灰度值移到新的坐标处(x', y'), 但(x', y')不一定是整数值如: x'=1.2x, y'=1.2y问题:将(x,y)处的灰度值放在何处?法1 重采样(Re-sampling)需生成区域,将非整数坐标(x', y')生成的2D 网络重新按整数坐标采样。
通过插值方法生成新的坐标点(整数坐标)(复杂) 法2 逆变换(Inverse Transformation )⎩⎨⎧==)','('')','(''y x Y y y x X x 已知:原图象:整数坐标()i i y x ,下灰度值过程:新图象:给定一整数值坐标(x', y')⇒原图象坐标(x,y) (x,y)不一定是整数,但必落在一整数网格中,插值求出其上灰度。
原图象网格插值方法(interpolation)1. 最近邻插值(Nearest Neighborhood Interpolation. NNI )),()','(),),()','(int int int int y x I y x Iy xy x y x old new =⇒⇒⇒赋值取整逆变换(问题:有失真(放大时只重复复制,缩小时只是扔掉一些象素)2. 线性插值(Linear Interpolation )• 一维情况下: 已知 21,x x 处灰度21,g g ,求3x 处灰度3g 11312123)(g x x x x g g g +---=2D 情况下双线性插值:已知正方形网格上四点灰度,求P 点灰度。
法1 (1) 在Y 方向线性插值。
P Q y y = A A Q AB AB Q g y y y y g g g +---=)(同理求出⎩⎨⎧==?R PR g y y(2) 在X 方向插值,,A Q C R x X x x ==R R p QR Q R p G x x x x g g g +---=⇒)(法2 双线性插值方程:g(x,y)=ax=by+c*y+d step1. 由A ,B ,C ,D 四点g(x,y)求出a , b, c, dstep2. ),(,),(y x g ABCD y x ⇒∈∀由上式求出3. 曲线插值(curvilinear Interpolation ) 二次插值:已知(x,y)一维情况下 (1) 求三点坐标⎪⎩⎪⎨⎧+=-==11)int(23212x x x x x x (2) 计算210,,v v v21,02210,3,2,1,v v v i x v x v v g i i i ⇒=++=(3) 求220x v x v v g x ++=5.3快速算法(2D geometric transformation )特点:逐点计算、逐行扫描 (1) 决定新象素到旧象素的变换矩阵由逆变换下的平移、旋转、比例组合而成:⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛1''1001y x f e d c b a y x (2) 选择一合适的插值算法(3) 逐行扫描生成新图象step1. 对第i 行,求第j 列的旧坐标)1,,1,0)(,(-=N j y x ij ij⎪⎩⎪⎨⎧==++-+=++===++-+=++=--ey e f j d di f ej di y b x b c j b ai c bj ai x j ij j ij 11)1()1( 每点只需2个加法 where 每行起点:⎪⎩⎪⎨⎧+=++-=+=+=++-=+=--dy d f i a f di y a x a c i a c ai x i i i i 0,100,10)1()1( 也只有两个加法。
Step2. 插值:),(),(ij ij dd new y x I j i I =5.4 三维几何变换和透视变换;图象变形T Z Y X R Z Y X i i i +⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛111,⎪⎪⎪⎭⎫ ⎝⎛=333231232221131211r r r r r r r r r R ,⎪⎪⎪⎭⎫ ⎝⎛=z y x t t t T透视变换:⎪⎪⎭⎫⎝⎛=i i i i i i i i Z Y F Y X F y x ,),( ,X Y Z x y i i i i i ,,,---物体点的三维空间坐标,相应点的图象坐标(1) T =0时,纯旋转:X r X r Y r Z Y r X r Y r Z Z r X r Y r Z211112113122112212312311321331=++=++=++⎧⎨⎪⎩⎪ 同理⎪⎪⎩⎪⎪⎨⎧++++=++++==++++=++++==133132131123122121213313213112312212122222133132131113112111213313213111311211122222F r y r x r F r y r x r F Z r Y r X r Z r Y r X r F Z Y F y F r y r x r F r y r x r F Z r Y r X r Z r Y r X r F Z X F x 化简得:⎪⎪⎩⎪⎪⎨⎧++++=++++=3121131211231211312112E y E x E D y D x D y E y E x E C y C x C x (1)不妨设13=E 则一对点可提供2个方程,8个未知数四个点可解之。
(2) T ≠0,拍摄对象为平面,同样有(1)式的关系,4对点可完全决定一摄影变换。
(3) 围绕坐标轴旋转的情况当沿命名轴向原点看去时,旋转以绕这轴的顺时针方向测定(坐标沿逆时针) 沿X 轴以α角旋转 ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎭⎫⎝⎛-=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛110000cos sin 00sin cos 000011'''Z Y X Z Y X αααα 绕Y 轴以β角旋转 ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛11000cos 0sin 00100sin 0cos 1'''Z Y X Z Y X ββββ绕Z 轴以γ角旋转 ⎪⎪⎪⎪⎪⎭⎫⎝⎛⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛11000010000cos sin 00sin cos 1'''Z Y X Z Y Xx γγγγ问题:1. 顺序能否交换?(绕同一轴√;绕不同轴X ) 2. 如何求逆交换(变换矩阵转置即可) (4) 平移:比例 ⎪⎪⎪⎪⎪⎭⎫⎝⎛⎪⎪⎪⎪⎪⎭⎫ ⎝⎛---=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛11000000001'''Z Y X t s t s t s Z Y X z z y y x x(5) 透视:x y f X Z f Y Z ⎛⎝ ⎫⎭⎪=⎛⎝ ⎫⎭⎪⎪⎪齐次表示:⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛10100010000100001Z Y X fh z y x),,,(),,,(fZ Z Y X h z y x =⇒ ⎪⎭⎫ ⎝⎛=⎪⎭⎫⎝⎛=⇒11)1,,,(fZY fZX f h z hy hxf v u从不同角度观看一平面的算法已知: 从一个视角11,T R 和焦距1F 下平面物体的图象1I 求:从另一个视角22,T R 和焦距2F 下平面物体的图象2IX Y Z X Y Z x y F i i i i i i ,,,,,--------------参考坐标系,摄像机坐标系,图象坐标系,摄像机焦距,设: 物体为平面并使参考坐标系的Z 平面与此平面重合,即平面的Z 坐标为0。