matlab 将图片制作成视频并将视频输出为图片

matlab 2016 videowriter制作视频

matlab在2013版之前制作视频有avifile以及addframe函数可以使用,但在之后的版本中这两个函数已经被移除,取而代之的是VideoWriter以及writeVideo函数,基本用法一致,具体用法见程序。实际制作视频的参数见VideoWriter的properties。

%将图片转化为视频
clear all;
clc;
srcDic = uigetdir('G:\smc\ljw');
cd(srcDic);
allnames = struct2cell(dir('*.jpg'));
[k,len]=size(allnames);
aviobj = VideoWriter('example.avi');
aviobj.FrameRate = 2;
open(aviobj)
for i = 1:len
    name = allnames{ 1,i};
    frame = imread(name);
    writeVideo(aviobj,frame);
end
close(aviobj)


%将视频转化成图片
 v1=VideoReader('example.avi');%path
 for i=1:v1.numberofframes
     temp=read(v1,i);
     %figure(i)
     %imshow(temp);
     str = strcat('output',int2str(i),'.jpg')
     imwrite(temp,str);
end

当然python的opencv模块也可以将图片制作成视频,用法依然比较简单,在这里给出链接。
http://blog.csdn.net/lql0716/article/details/53412252

改变存储图片的分辨率及格式

print -fhandle -rresolution -dfileformat filename

具体使用方法为
print -f1 -r600 -djpeg myfigure
解释为:将句柄为1的图像生成myfigure.jpg文件,分辨率为dpi600

补充:如果要求存为矢量图,可以参数“ -depsc”,其图形可用Adobe Illustrator打开。其他的print命令格式请参考matlab帮助。

    原文作者:awakeljw
    原文地址: https://blog.csdn.net/awakeljw/article/details/54021517
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞