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帮助。