Matlab将imtransform(usinv Udata anv Vdata)转换为simulink的应用几何变换

时间:2016-03-10 00:24:33

标签: matlab image-processing simulink image-rotation rotational-matrices

我使用3D代码旋转2D矩阵(旋转矩阵):

rX = 5; rY = 3; rZ = 4;

rot_mat_Z = [cosd(rZ),-sind(rZ), 0; sind(rZ),cosd(rZ), 0; 0, 0, 1]; 
rot_mat_Y = [cosd(rY), 0, sind(rY); 0, 1, 0; -sind(rY), 0, cosd(rY)]; 
rot_mat_X = [1, 0, 0; 0, cosd(rX), -sind(rX); 0, sind(rX), cosd(rX)];

rot_m = rot_mat_Z * rot_mat_Y * rot_mat_X;
tform= maketform('projective', rot_m');

image_rotate = imtransform(image_in, tform, 'udata',[0 1],'vdata',[0 1],'size',size(image_in));

这适用于matlab,我得到了我想要的结果。

现在我需要在simulink上应用相同的转换。我怎么能这样做?

我尝试了“应用几何变换”块,使用rot_m,但我得到了一个奇怪的图像。

我可能需要修改rot_m但是怎么做?

1 个答案:

答案 0 :(得分:0)

我从来没有找到任何方法在Simulink中轻松完成这项工作。我必须编写并编译自定义c函数。