与VideoReader类 相似,matlab提供了一个可以写入视频,利用图像序列合成视频的类VideoWriter。 相关博文:《matlab读取视频VideoReader类》 0。一个简单的利用图像序列合成视频的示例代码。 myObj = VideoWriter('newfile.avi');%初始化一个avi文件 writerObj.FrameRate = 30; open(myObj); for i=1:200%图像序列个数 fname=strcat('..\imgdata\',num2str(i),'.jpg'); frame = imread(fname); writeVideo(myObj,frame); end close(myObj); 下面具体介绍VideoWriter类的函数。 1。VideoWriter - 该函数用于创建视频写入对象。 函数调用格式: writerObj = VideoWriter(filename)创建一个视频写入对象。当filename没有扩展名时,默认为 . avi 文件。 writerObj = VideoWriter(filename,profile)创建一个由profile指定类型的视频写入对象。 profile的可能值及其对应的视频对象类型为: 'Archival' - Motion JPEG 2000 file with lossless compression,即 . mj2 文件。 'Motion JPEG AVI' - Compressed AVI file using Motion JPEG codec ,即 . avi 文件。 'Motion JPEG 2000' - Compressed Motion JPEG 2000 file,即 . mj2 文件。 'MPEG-4' - Compressed MPEG-4 file with H.264 encoding (Windows 7 systems only),即 ..mp4 或 .m4v 文件。 'Uncompressed AVI' - Uncompressed AVI file with RGB24 video,即 . avi 文件。 缺省是默认为'Motion JPEG AVI' ,即 . avi 文件。 2 该类其他成员函数: open - 打开视频写入对象 调用格式: open(writerObj) close - 关闭视频写入对象,与 open对应 调用格式: close(writerObj) 这两个函数分别在写入视频对象前和写入完成后使用。 getProfiles - 获取在该系统平台下,VideoWriter可以支持写入的视频类型。 调用格式: profiles = VideoWriter.getProfiles() writeVideo - 写入视频帧 调用格式: writeVideo(writerObj,frame)将一帧图像frame写入视频对象中 writeVideo(writerObj,mov)将matlab的movie对象写入视频中 writeVideo(writerObj,img)将一个图像写入视频对象中 writeVideo(writerObj,images)将一序列图像写入视频对象中 其中, frame可以通过 getframe获得,如 frame = getframe; 。 mov是一个帧结构序列,每一个结构包括mov.cdata 和 mov.colormap。 |
|
来自: 老狗肚皮 > 《matlab笔记》