概述
在图像处理中,经常需要将图像进行旋转操作。
旋转操作的核心实现,实际为计算图像中每个点发生旋转后的坐标位置转换。
这里,我们需要引入矩阵论帮助分析和计算转换关系。在矩阵的帮助下,旋转转换的计算需求转换为求转换前坐标系和转换后坐标系之间的旋转矩阵。
而后,每个点的坐标矩阵乘以旋转矩阵后即可得到转换后的坐标矩阵。
笛卡尔坐标系
首先,为了便于理解,我们以常见的笛卡尔坐标系为入口,分析在笛卡尔坐标系下的旋转矩阵。
定义
笛卡尔坐标系,以左下角为原点,水平向右方向为 x x x轴正方向,垂直向上为 y y y正方向轴正方向。
如图所示,设 v v v点坐标为 ( x , y ) (x,y) (x,y),逆时针旋转为正方向, x x x轴正方向到 v v v点的坐标矢量的旋转角为 ϕ \phi ϕ,逆时针旋转 θ \theta θ角则
x = r ∗ c o s ϕ x=r*cos\phi x=r∗cosϕ y = r ∗ s i n ϕ y=r*sin\phi y=r∗sinϕ
v ′ v' v′点坐标为 ( x ′ , y ′ ) (x',y') (x′,y′),则
x ′ = r ∗ c o s ( ϕ + θ ) = r ∗ c o s ϕ ∗ c o s θ − r ∗ s i n ϕ ∗ s i n θ = x ∗ c o s θ − y ∗ s i n θ \begin{aligned} x'&=r*cos(\phi+\theta)\\ &=r*cos\phi*cos\theta-r*sin\phi*sin\theta\\ &=x*cos\theta-y*sin\theta\\ \end{aligned} x′=r∗cos(ϕ+θ)=r∗cosϕ∗cosθ−r∗sinϕ∗sinθ=x∗cosθ−y∗sinθ
y ′ = r ∗ s i n ( ϕ + θ )