1701006951
1701006952
1701006953
1701006954
1701006955
图5-47 图像的平移
1701006956
1701006957
(2)图像的伸缩
1701006958
1701006959
图像的伸缩是将图像沿着x、y、z分别进行拉伸和压缩,从而改变图像的形状。图像伸缩矩阵如下:
1701006960
1701006961
1701006962
1701006963
1701006964
一个三维图像中的点表示成矩阵A,进而可得到伸缩后的图像A‘:
1701006965
1701006966
1701006967
1701006968
1701006969
具体的MATLAB程序如下:
1701006970
1701006971
clc,clear,close all %清屏和清除变量 warning off %消除警告 %图像的拉伸 t = 0
:0.02*pi
:4*pi; x = t.*cos(t); y = t.*sin(t); z = t/4; A = [x;y;z]; K=[1.5,0,0;0,6,0;0,0,2]; %拉伸矩阵 A1 = K*A; figure(‘color’,[1,1,1]) %设置图形背景为白色 plot3(A(1,
:),A(2,:),A(3,:),‘linewidth’,2) %绘制三维曲线图 hold on %图像保持句柄 plot3(A1(1,
:),A1(2,:),A1(3,:),‘r:’,‘linewidth’,3) %绘制三维曲线图 grid on %网格化 legend(‘原始图像’,‘拉伸后的图像’)
1701006972
1701006973
运行程序输出图形如图5-48所示。
1701006974
1701006975
1701006976
1701006977
1701006978
图5-48 图像的拉伸
1701006979
1701006980
(3)图像的旋转
1701006981
1701006982
图像的旋转是颜色向量v(x,y,z)方向进行旋转变换,从而改变图像的摆放位置。图像绕x,y,z轴旋转矩阵如下:
1701006983
1701006984
1701006985
1701006986
1701006987
具体的MATLAB程序如下:
1701006988
1701006989
clc,clear,close all %清屏和清除变量 warning off %消除警告 %图像的旋转 t = 0
:0.02*pi
:4*pi; x = t.*cos(t); y = t.*sin(t); z = t/4; A = [x;y;z]; u= pi/2; %旋转90度 Rx=[1,0,0 0,cos(u),-sin(u); 0,sin(u),cos(u)]; %绕x轴旋转矩阵 A1 = Rx*A; figure(‘color’,[1,1,1]) %设置图形背景为白色 plot3(A(1,
:),A(2,:),A(3,:),‘linewidth’,2) %绘制三维曲线图 hold on %图像保持句柄 plot3(A1(1,
:),A1(2,:),A1(3,:),‘r:’,‘linewidth’,3) %绘制三维曲线图 grid on %网格化 legend(‘原始图像’,‘绕x轴旋转矩阵后的图像’)
1701006990
1701006991
运行程序输出图形如图5-49所示。
1701006992
1701006993
1701006994
1701006995
1701006996
图5-49 图像的旋转
1701006997
1701006998
1701006999
1701007000
[
上一页 ]
[ :1.701006951e+09 ]
[
下一页 ]