您的位置:首页 > 其它

(CV,Math)仿射几何

2016-05-25 00:15 435 查看
本文地址:/article/10918263.html

本文简单介绍了仿射变换,主要从仿射变换的矩阵表示方面理解。

1 仿射变换矩阵表示

以二维坐标为例讲述仿射变换。变换前坐标为(x,y)(x,y),变换后坐标为(x′,y′)(x',y'),本文均使用齐次坐标系,且此处不介绍其次坐标。

二维仿射变换保持了图像的“平直性”(即变换后直线还是直线)和“平行性”(平行线还是平行线)。仿射变换可以通过一系列的原子变换的复合来实现,包括:平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和剪切(Shear)。其中平移与旋转为刚体变换,平移、旋转与缩放为相似变换

仿射变换用等式表示如下:

{x′=ax+cy+txy′=bx+dy+ty
\begin{equation}
\left\{
\begin{aligned}
x'=ax+cy+tx\\
y'=bx+dy+ty
\end{aligned}
\right.
\end{equation}

用矩阵表示如下:

⎛⎝⎜x′y′1⎞⎠⎟=⎛⎝⎜ad0cb0txty1⎞⎠⎟⎛⎝⎜xy1⎞⎠⎟
\left(
\begin{array}{c}
x' \\
y' \\
1
\end{array}
\right)=
\left(
\begin{array}{ccc}
a & c & tx \\
d & b & ty \\
0 & 0 & 1
\end{array}
\right)
\left(
\begin{array}{c}
x \\
y \\
1
\end{array}
\right)

1.1 平移Translation

(x,y)(x,y)平移后坐标为(x+tx,y+ty)(x+tx,y+ty),变换矩阵为

⎛⎝⎜100010txty1⎞⎠⎟
\left(
\begin{array}{ccc}
1 & 0 & tx \\
0 & 1 & ty \\
0 & 0 & 1
\end{array}
\right)

1.2 缩放Scale

(x,y)(x,y)缩放后坐标为(ax,dy)(ax,dy),变换矩阵为

⎛⎝⎜sx000sy0001⎞⎠⎟
\left(
\begin{array}{ccc}
sx & 0 & 0 \\
0 & sy & 0 \\
0 & 0 & 1
\end{array}
\right)

1.3 翻转Flip

(x,y)(x,y)翻转后坐标为(−x,y)(-x,y)或(x,−y)(x,-y),变换矩阵为

⎛⎝⎜−100010001⎞⎠⎟或⎛⎝⎜1000−10001⎞⎠⎟
\left(
\begin{array}{ccc}
-1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{array}
\right)或
\left(
\begin{array}{ccc}
1& 0 & 0 \\
0 & -1 & 0 \\
0 & 0 & 1
\end{array}
\right)

1.4 旋转Rotation

(x,y)(x,y)旋转后坐标为(xcosθ−ysinθ,ycosθ+xsinθ)(xcos\theta -ysin\theta,ycos\theta+xsin\theta),变换矩阵为

⎛⎝⎜cosθsinθ0−sinθcosθ0001⎞⎠⎟
\left(
\begin{array}{ccc}
cos\theta & -sin\theta & 0 \\
sin\theta & cos\theta & 0 \\
0 & 0 & 1
\end{array}
\right)



⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪x=rcosαy=rsinαx′=rcos(α+θ)=rcosαcosθ−rsinαsinθ=xcosθ−ysinθy′=rsin(α+θ)=rsinαcosθ+rcosαsinθ=ycosθ+xsinθ
\begin{equation}
\left \{
\begin{aligned}
& x=rcos\alpha \\
& y=rsin\alpha \\
& x'=rcos(\alpha+\theta)=rcos\alpha cos\theta-rsin\alpha sin\theta =xcos\theta -ysin\theta \\
& y'=rsin(\alpha+\theta)=rsin\alpha cos\theta+rcos\alpha sin\theta=ycos\theta+xsin\theta
\end{aligned}
\right.
\end{equation}

注,若围绕某点(x0,y0)(x_0,y_0)旋转,则可以理解为坐标系平移(x0,y0)(x_0,y_0)后再进行旋转,即对(x−x0,y−y0)(x-x_0,y-y_0)旋转后得到(x′−x0,y′−y0)(x'-x_0,y'-y_0)

1.5 剪切Shear

(x,y)(x,y)剪切后坐标为(x+cy,y+bx)(x+cy,y+bx),变换矩阵为

⎛⎝⎜1shy0shx10001⎞⎠⎟
\left(
\begin{array}{ccc}
1 & shx & 0 \\
shy & 1 & 0 \\
0 & 0 & 1
\end{array}
\right)

也相当于水平剪切和垂直剪切的符合:

⎛⎝⎜1shy′0010001⎞⎠⎟⎛⎝⎜100shx′10001⎞⎠⎟
\left(
\begin{array}{ccc}
1 & 0 & 0 \\
shy' & 1 & 0 \\
0 & 0 & 1
\end{array}
\right)
\left(
\begin{array}{ccc}
1 & shx' & 0 \\
0 & 1 & 0 \\
0 & 0 & 1
\end{array}
\right)

水平、垂直剪切如下图





1.6 刚体变换

由上可知,刚体变换包括平移和旋转,所以变换矩阵可以表示为,其中RR为3*3的正交旋转矩阵

(R0Tt1)
\left(
\begin{array}{cc}
R & t \\
0^T & 1
\end{array}
\right)

1.7 总结

从以上可以看出,若某物质或信息具有仿射不变性,则也具备尺度不变性(Scale invariant)

2 仿射几何

这部分描述的仿射几何的一些重要的数学概念。

2.1 平行射影

又称透视仿射,是射影几何的概念,由此可知仿射变换是射影变换的一种特例。



平面到平面的仿射是有限回平行射影的积组成的。比如,由连续施行平面π\pi到π1\pi1,π1\pi1 到π2\pi2,π2\pi2到π3\pi3,再从π3\pi3回到π′\pi'的共四次平行投影得到的平面π\pi上点之间的对应,例如A,B,CA,B,C的对应点为A',B',C'A′,B′,C′,这个对应就是平面π上的一个仿射变换。

2.2 简比

定义ACBC\frac{AC}{BC}为三共线点A,B,CA,B,C的简比

简比在仿射变换下是不变的,即ACBC=A′C′B′C′\frac{AC}{BC}=\frac{A'C'}{B'C'}

简比是仿射变换最基本的不变量

参考资源:

1. /article/1653584.html

2. http://liuyanwei.jumppo.com/2015/11/24/iOS-affine-transfermation-animation.html?utm_source=tuicool&utm_medium=referral

3. http://www.th7.cn/Program/Android/201501/353476.shtml

4. http://www.360doc.com/content/14/0410/14/10724725_367760675.shtml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: