永发信息网

MATLAB动画保存为视频文件遇到问题(高分求高手!)

答案:2  悬赏:30  手机版
解决时间 2021-02-28 10:24
  • 提问者网友:温旧梦泪无声
  • 2021-02-27 15:13
我在MATLAB中设计了一个(擦除类)动画。现在想把动画效果保存下来,留作以后展示。

根据网上方法,我试着生成.avi视频:
主要添加步骤包括:
aviobj = avifile('test1.avi','compression','None'); %定义

F = getframe(fig); %截取当前图
aviobj = addframe(aviobj,F); %随时间节点反复添加当前截图

但是MATLAB每次都在运行了几帧图像后报错(好像是没有生成视频流?):
??? Error using ==> avi
Failed to create video stream.

Error in ==> avifile.addframe at 190
avi('addframe',rot90(frame,-1), aviobj.Bitmapheader, ...

我看到文件夹确实已经产生了.avi文件,但是大小为0kb。这是为什么呢???

PS:一开始我以为是图片前后大小不一致的原因,后来发现是一样的。
参数:
Adjustable parameters:
Fps: 15.0000
Compression: 'None'
Quality: 75
KeyFramePerSec: 2.1429
VideoName: 'test1.avi'
Automatically updated parameters:
Filename: 'test1.avi'
TotalFrames: 0
Width: 0
Height: 0
Length: 0
ImageType: 'Unknown'
CurrentState: 'Open'

F =
cdata: [697x1365x3 uint8]
colormap: []
最佳答案
  • 五星知识达人网友:舊物识亽
  • 2021-02-27 16:23
这是我以前写的程序,可以录视频的,不过好像和你的没有啥区别。你看看吧
mov=avifile(''video.avi'',''fps'',20);
for i=1:80
F=getframe(hf);
mov=addframe(mov,F);
end
mov=close(mov);
全部回答
  • 1楼网友:忘川信使
  • 2021-02-27 17:21
我是来看评论的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯