3 d通用轴旋转

6 Ansichten(30天)的
安德里亚
安德里亚 我2013年11月21日
Beantwortet: 马特·J 我2013年11月26日
我想使用Matlab图像在y轴旋转,我希望有一个三维矩阵作为矩阵的输出和每架飞机应该包含一块图像。
我插入我的形象在一个三维数组然后我应用变换矩阵使用affine3d imwarp命令。
这是一个例子:
c = cos(θ);s =罪(θ);
用户体验= 0;uy = 1;是乌斯= 0;
tx = 0;泰= 0;tz = 0;
tt = [(1 - c) * ux c ^ 2 + (1 - c) * ux * uy-s *是乌斯(1 - c) * ux *是乌斯+ s * uy tx;
(1 - c) * ux * uy + s *是乌斯(1 - c) * uy c ^ 2 + (1 - c) * uy * uz-s * ux泰;
(1 - c) * ux * uz-s * uy (1 - c) * uy *是乌斯+ s *用户体验(1 - c) *是乌斯^ 2 + c tz;0 0 0 1);
tform = affine3d (tt);
R = imref3d(尺寸(图片);
imrot = imwarp(形象,R, tform);
这样我得到一个原点轴周围旋转,但我希望周围的旋转中心的形象,所以我改变泰的价值。
泰= 128
但affine3d希望只作为最后一列(0 0 0 1)。有办法旋转使用这些命令或我必须找到另一种方式吗?

Antworten (2)

亚历克斯·泰勒
亚历克斯·泰勒 我2013年11月26日
图像处理工具箱使用不同的公约比你预计的变换矩阵。这是这里讨论:
IPT所使用的形式是:
[A B C 0;
D E F 0;
我0 G H;
Tx泰Tz 1];
换句话说,你所期待的转置。

马特·J
马特·J 我2013年11月26日
除了亚历克斯所说,改变翻译参数图像中心的位置并不等同于使旋转的中心。您可以使用这个工具
让R t的数据你想要绕轴旋转。然后饲料[R t]。maketform。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的