刚体变换公式(对图像进行刚体变换)
有图像img0 需要围绕任意点(rx,ry)旋转成为img1.
旋转矩阵M为:
图1 围绕任意点旋转的变换矩阵
注意:
(x0,y0)为img0上的任意像素的坐标
(x1,y1)为img1上的任意像素的坐标
为什么旋转矩阵M要这样写,我们详细推导一下:
图2 问题题干整理
这里需要先了解仿射变换的基本操作方式,
回顾一下平移变换如下:
图3 平移变换
注意:
(x0,y0)为img0上的任意像素的坐标
(x1,y1)为img1上的任意像素的坐标
围绕原点围绕0)的旋转变换如下:
图4 基本旋转变换
这里我们将围绕原点旋转为基本旋转变换。
其实我们可以利用平移变换和围绕原点(0,0)的旋转变换,来完成围绕任意点(rx,ry)的旋转变换,方法如下:
图5 先平移再基本旋转再平移即可
这三步的详细执行过程如下:
图6 详细执行过程
我们看到,每一步其实都是一个矩阵左乘的操作,所以我们可以把这三步的矩阵左乘合起来:
图7 将三步的矩阵左乘写为一个矩阵
所以,对图片img0绕任意点(rx,ry)旋转的变换矩阵M可以总结为:
图8 绕任意点旋转的变换矩阵M
注意:我们图1中写的是逆时针旋转-theta,为了表述方便,我们令alpha = - theta,将负号去除。这样我们就总结出了绕任意点(rx,ry)顺时针旋转alpha的旋转矩阵M的公式,如图8.
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com