matlab 图像的旋转变换,如何能使图像按一个中心点旋转成动画。 急急急!

发布网友 发布时间:2022-04-23 21:03

我来回答

1个回答

热心网友 时间:2023-10-09 15:31

clear;
clc;
A=imread('saturn.png');

[M,N,L]=size(A);
figure,imshow(A);
A=double(A)/255;

B(M,N,L)=0;
for frames=1:8
%clear B;
i0=333;j0=424;
k1=1;k2=1;
%k1=0.8*frames;k2=1.2*frames;
angle=1*pi/180*frames*30;
for i=1:M
for j=1:N
ii=i+i0;jj=j+j0;
ii=round(k1*i);jj=round(k2*j);
ii=round((i-i0)*cos(angle)-(j-j0)*sin(angle));
for k=1:L
if ii<=M&ii>0&jj>0&jj<=N
B(i,j,k)=A(ii,jj,k);
end
end
end
end
frames
imshow(B)
pause(0.5)
value=num2str(frames);
extb='.bmp';
Filename=strcat(value,extb);
imwrite(B,Filename)
MV(frames)=im2frame(B);
end
%MV(frames)=im2frames(B(:,:,:,k)/255);

movie(MV)
movie2avi(MV,'movie.avi')

%%你原来的代码应该没有调试通过。循环有问题。for end 错位。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com