刚体变换公式(对图像进行刚体变换)

有图像img0 需要围绕任意点(rx,ry)旋转成为img1.

旋转矩阵M为:

刚体变换公式(对图像进行刚体变换)(1)

图1 围绕任意点旋转的变换矩阵

注意:

(x0,y0)为img0上的任意像素的坐标

(x1,y1)为img1上的任意像素的坐标

为什么旋转矩阵M要这样写,我们详细推导一下:

刚体变换公式(对图像进行刚体变换)(2)

图2 问题题干整理

这里需要先了解仿射变换的基本操作方式,

回顾一下平移变换如下:

刚体变换公式(对图像进行刚体变换)(3)

图3 平移变换

注意:

(x0,y0)为img0上的任意像素的坐标

(x1,y1)为img1上的任意像素的坐标

围绕原点围绕0)的旋转变换如下:

刚体变换公式(对图像进行刚体变换)(4)

图4 基本旋转变换

这里我们将围绕原点旋转为基本旋转变换。

其实我们可以利用平移变换和围绕原点(0,0)的旋转变换,来完成围绕任意点(rx,ry)的旋转变换,方法如下:

刚体变换公式(对图像进行刚体变换)(5)

图5 先平移再基本旋转再平移即可

这三步的详细执行过程如下:

刚体变换公式(对图像进行刚体变换)(6)

图6 详细执行过程

我们看到,每一步其实都是一个矩阵左乘的操作,所以我们可以把这三步的矩阵左乘合起来:

刚体变换公式(对图像进行刚体变换)(7)

图7 将三步的矩阵左乘写为一个矩阵

所以,对图片img0绕任意点(rx,ry)旋转的变换矩阵M可以总结为:

刚体变换公式(对图像进行刚体变换)(8)

图8 绕任意点旋转的变换矩阵M

注意:我们图1中写的是逆时针旋转-theta,为了表述方便,我们令alpha = - theta,将负号去除。这样我们就总结出了绕任意点(rx,ry)顺时针旋转alpha的旋转矩阵M的公式,如图8.

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页