发布网友 发布时间: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 错位。