Matlab图像旋转
####以坐标原点为中心旋转的原理:
点 p 0 p_0 p0绕坐标原点逆时针方向旋转 θ \theta θ角度得到点 p 1 p_1 p1.
从①②可以得到旋转变换的矩阵公式:
[ x 1 y 1 1 ] \begin{bmatrix}x_1&y_1&1\end{bmatrix} [x1y11]= [ x 0 y 0 1 ] \begin{bmatrix}x_0&y_0&1\end{bmatrix} [x0y01] [ c o s ( θ ) s i n ( θ ) 0 − s i n ( θ ) c o s ( θ ) 0 0 0 1 ] \begin{bmatrix}cos(\theta)&sin(\theta)&0\\-sin(\theta)&cos(\theta)&0\\0&0&1\end{bmatrix} ⎣⎡cos(θ)−sin(θ)0sin(θ)cos(θ)0001⎦⎤
还可以得到逆运算矩阵公式:
[ x 0 y 0 1 ] \begin{bmatrix}x_0&y_0&1\end{bmatrix} [x0y01]= [ x 1 y 1 1 ] \begin{bmatrix}x_1&y_1&1\end{bmatrix} [x1y11] [ c o s ( θ ) − s i n ( θ ) 0 s i n ( θ ) c o s ( θ ) 0 0 0 1 ] \begin{bmatrix}cos(\theta)&-sin(\theta)&0\\sin(\theta)&cos(\theta)&0\\0&0&1\end{bmatrix} ⎣⎡cos(θ)sin(θ)0−sin(θ)cos(θ)000