matlab avi

来源:百度知道 编辑:UC知道 时间:2024/09/13 06:12:40
我使用以下函数要将10幅图片生成AVI动画,但是MATLAB提示错误!请高手指点。谢谢。
function imtoavi
clear
pic=dir('D:\MATLAB7\work\*.jpg');

%取文件的数量:num
a=size(pic);
num=a(1);

for i=1:num
im(:,:,:,i)=imread(strcat(num2str(i),'.jpg'));
imshow(im(:,:,:,i))
M(i) = getframe;
end

movie2avi(M,'out.avi','FPS',1)%输出视频
??? Attempt to execute SCRIPT clock as a function.

Error in ==> tempname at 14
t0 = clock;

Error in ==> avifile.avifile at 93
aviobj.TempDataFile = [tempname '.tmp'];

Error in ==> movie2avi at 63
avimov = avifile(filename,varargin{:});

Error in ==> imtoavi at 15
movie2avi(M,'out.avi','FPS',1)%输出视频
不运行movie2avi(M,'out.avi','FPS',1)%输出视频
不出问题,怎么回事?

去掉函数头,执行下列语句
clear
pic=dir('D:\MATLAB7\work\*.jpg');

%取文件的数量:num
a=size(pic);
num=a(1);

for i=1:num
im(:,:,:,i)=imread(pic(i).name);
imshow(im(:,:,:,i))
M(i) = getframe;
end
只要上面没有出错,最后再在命令窗口下执行下面的就应该没有问题
movie2avi(M,'out.avi','FPS',1)%输出视频