Yue*_*rno 0 matlab interpolation image-processing
我正在学习课堂上的图像处理,而且一切都很快,所以我在围绕不同的概念时遇到了一些麻烦.具体而言,在旋转中,我理解您需要将输入图像的每个像素坐标乘以旋转矩阵以获得输出图像.但是,当您围绕其中心旋转图像时,需要进行平移以减去质心,然后旋转,然后重新添加质心.这背后的逻辑是什么,它是如何工作的?
通常,旋转对象时,将其围绕原点(0,0)旋转.但是如果你想围绕其他点(在你的情况下是质心)旋转对象,你可以通过减去它来将原点移动到那个点.旋转后,如果希望输出与开始时位于同一坐标系中,则可以通过将原点添加回原点将原点恢复到正常位置.
下面的图片证明它更有意义 -
最初旋转的对象.
当你旋转135度时,它会被锁定.输出1
但是如果要围绕质心旋转,请将原点移动到那里.
它现在看起来如何 -
现在旋转相同的135度防锁 -
通过添加质心 - Output2返回旧坐标系
显然,Output1和Output2的右侧不相同,因此减去和添加质心取决于您想要旋转的点.