matlab使用avifile制作视频、VideoReader读取视频和movie函数将图片以视频方式播放
来源:互联网 发布:传智播客35期java 编辑:程序博客网 时间:2024/04/30 11:59
系统环境:matlab2012a+win7
一 、avifile制作视频:
clc;clear;close all;
f_str=1;f_end=630; % 起始和结束帧
r_path='图片读取路径';
video_name='video‘; %你想制作的视频名称aviobj=avifile(video_name); %此时你可以看见在当前文件夹下创建了一个avi视频文件(是空的)
aviobj.Quality = 60; % 视频质量,0-100之间,数值越大视频字节也越大
aviobj.Fps = 20; %创建视频的帧率
aviobj.compression='None'; %可选的压缩方式有: 'Indeo3'(默认), 'Indeo5', 'Cinepak', 'MSVC', 'RLE' or 'None'.for i=f_str:f_end
pic=imread([r_path,int2str(i),'.jpg']); %从你指定的文件夹读取图片
aviobj=addframe(aviobj,uint8(pic)); % 将当前图片添加至初始创建的avi视频
end
aviobj=close(aviobj); % 关闭创建视频备注:如果第一次运行失败且已经执行了这句aviobj=avifile(video_name)时,再次运行将出错,因为这个名字已经存在,需要改另外一个名字。如果不压缩的话,视频会很大,几分钟的视频就有好几个G
并不是所有的压缩方式都能运行,我试了一下,只有后面4个能运行,前面两个都出错!这个系统和插件有关系,本人也不懂
其实个人觉得将图片转换成视频可以用一些软件去做,例如Windows Live(只能生成WMV格式),会声会影(很大,装起来不方便)等,用matlab不方便!各有千秋吧!
二 、VideoReader读取视频:
clc;
clear;
close all
temp=VideoReader('视频名称');% 得到的temp为一结构体,里面有视频的很多属性,可以读取很多格式的视频
numFrames = get(temp, 'NumberOfFrames');%获取视频的总帧数,同样可以获得视频的其它属性,例如宽和高等for i=1:sub:numFrames
image = read(temp, i);
% 对图片进行操作
end
三 、movie函数播放视频:
clear;clc;
close all;rPath='图片的路径';
numFrames=60;%图片的总帧数
vidHeight=576;vidWidth=768;%图片的高度(行)和宽度(列)mov(1:numFrames)=struct('cdata', zeros(vidHeight, vidWidth,3, 'uint8'),...
'colormap', [ ]); %构造mov结构体,用于作为movie的输入变量for i=1:numFrames %将所有图片先存入mov结构体中
img=imread([rPath,' (',int2str(i), ').jpg']);
mov(i).cdata = img;
end
hf = figure;movie(hf, mov, 1, 15);%各参数含义:hf: figure的句柄,mov: 上面构造的结构体;1: 视频播放次数;15: 视频的帧率
缺点:程序运行时帧数超过100帧就提示错误:Could not create movie frame!!!只能使用于帧数少的图片播放
- matlab使用avifile制作视频、VideoReader读取视频和movie函数将图片以视频方式播放
- 使用matlab中的VideoReader函数读取,保存,显示,播放视频
- matlab读取视频VideoReader类
- matlab读取视频VideoReader类
- matlab读取视频VideoReader类
- matlab读取视频VideoReader类
- matlab读取视频VideoReader类
- matlab读取视频VideoReader类
- matlab读取视频VideoReader类
- matlab读取视频VideoReader类
- matlab读取视频VideoReader类
- [matlab]matlab读取视频VideoReader类
- [matlab]matlab读取视频VideoReader类
- matlab读取视频VideoReader类 mmreader
- matlab读取视频VideoReader类 mmreader
- MATLAB VideoReader读取视频出错解决办法
- ubuntu 里 matlab VideoReader 读取视频
- matlab读取/播放视频的函数
- 如何删除word多余的回车,删除word多余的断行。
- 调试Release版程序的Crash错误(五)
- linux内核源码的下载 ------ 各种版本的 v1.x v2.x v3.x
- ArcGIS Desktop 的字段(Field)那些事
- NSString的常用方法
- matlab使用avifile制作视频、VideoReader读取视频和movie函数将图片以视频方式播放
- Qt之界面出现、消失动画效果
- 我的android 第32天 - 广播接收者--BroadcastReceiver
- 使用curl、socket、file_get_contents提交数据和获取数据
- SharePoint 2013 项目模板
- Linux操作系统启动过程详解
- Android控件属性大全
- js的换行符空格符\0 \b
- 深度解析Linux根文件系统的挂载过程