您的位置:主页 > 葡京娱乐场官网 >
sky娱乐注册_新葡京娱乐网址-MATLAB AVI 视频读取处
作者:侠客 日期:2017-03-31 16:48 人气:
分享到: 0

就可以返回一个视频工具;应用第二种措施

matlab avi 视频读取处置惩罚1、用matlab读取avi 视频(只能读必然压缩各式的avi 片子
这是由于avi视频文件的编码有很多
而matlab只支持部分编码款式可见 aviinfo('d:\abc.avi'); %显示存在d 盘文件abc.avi 的信息,在matlab2010 版本中
该函数可以换成mmreader mov=aviread('abc:.avi'); %读入片子abc.avi movie(mov); %放映片子2、将avi视频转成图片序列mov=aviread('d:\abc.avi'); %读入 vframes=size(mov,2); %读取视频的帧数
mov 为1*1179 struct
struct便是第4点所先容的 for i=1: vframes strtemp=strcat('d:\转换的图片\',int2str(i),'.','jpg'); %将每帧转成.jpg 的图片 imwrite(mov(i).cdata(:,:,), mov(i).colormap, strtemp); % 把图像写入磁盘 end3、读取avi视频第index帧有三种应用要领(不适用于索引图):第一种:mov=aviread(filename); % 读入视频 frame=mov(index); %读取avi 文件的第index 帧图像; img = frame.cdata; % 读取图像的颜色信息 第二种:frame = aviread(filename, index); img = frame.cdata; 第三种:mov = aviread(filename); frame = mov.cdata; img = mov{index}; 例:%读取第一帧图像 mov = aviread('highwayi_raw.avi'); frame=mov(index); imshow(frame.cdata);4、读取avi视频第index帧图像后
所储存帧款式是一个布局体(struct)
该布局 体有两个元素:cdata 和colormap例: frame = aviread('highwayi_raw.avi', i); frame.cdata 表示了一个数据数组
彩色图像便是3 维的
灰度图像便是2 维的也便是相称 于i=imread(‘abc.jpg’)后的数组i frame.colormap 见(help aviread) %%%%%懂得了以上四点
处置惩罚视频文件就可以相称于图像文件一样处置惩罚了%%%% 5、将彩色图像转换为灰度图像
很简单:frame = aviread('highwayi_raw.avi', i); f_gray = rgb2gray(frame.cdata); 这样就可以将文件的第i帧转换为灰度图像6、 创建avi视频文件aviobj = avifile(filename) aviobj = avifile(filename, 'param1', val1, 'param2', val2,...) 描述: aviobj = avifile(filename) 创建一个avi文件
其名称为filename
avi文件工具的所有属性均取默 认值假如文件名中并不包孕扩展名
则avifile为filename自动添加扩展名.aviavi是一种存储 声音和图像数据的文件款式 avifile返回一个指向avi文件工具aviobj的句柄
应用该工具在其他函数中可以引用该工具av i文件工具支持节制被创建的avi文件的各方面属性和措施 aviobj = avifile(filename, 'param1', val1, 'param2', val2,...)应用指定的参数设置创建一个avi文件 参数阐明表: 参数名称 阐明 默认值 一个m*3的矩阵
利用于索引色的avi视频
此中m视频每秒播放的帧数 压缩器支持时空压缩
这是指每秒的关键帧数目 15fps 默认每秒 2.1429关键帧'quality'为[0 100]之间的数值高质量参数输出高质量视频
并且文件较大年夜 反之
低质量参数输出低质量视频
文件较小 75 这个参数只对压缩片子有效 默觉得文件 名'videoname' 视频流的描述性名称这个参数应该不大年夜于64字符用户也可以应用布局语法来设置avi工具的属性avifile工具的所有属性名字和参数表中的名字 一样
并且要完备(除了keyframe这个参数)例如
设定质量属性为100可以应用如下的语法 款式: aviobj = avifile('myavifile'); aviobj.quality = 100; 实例 这一实例显示若何应用函数avifile创建avi文件example.avi t = linspace(0,2.5*pi,40); fact = 10*sin(t); fig=figure; aviobj = avifile('example.avi') [x,y,z] = peaks; for k=1:length(fact) h = surf(x,y,fact(k)*z); axis([-3 3 -3 3 -80 80]) axis off caxis([-90 90]) f = getframe(fig); aviobj = addframe(aviobj,f); end close(fig) aviobj = close(aviobj);7、mmreader 类---创建一个视频文件读取工具其其实 matlab2010 中
会建议采纳mmreader、mmfileinfo等函数
假如应用aviread会呈现警 告如下: warning: aviread will be removed in a future release. use mmreader instead. 这是因为aviread接口必要要求avi文件时没有压缩的
这回导致其利用受到很大年夜的 详细的mmreader 类描述可见matlab的help
以下摘自一些重点: mmreader类 是为了创建一个读取视频文件的多媒体读取工具 描述: 函数 mmreader可以读取所有的多媒体文件
返回值为一个布局体;然后可以用read 函数进 行读取文件 mmreader 支持的文件款式由各个操作系统平台抉择 window: avi(.avi)/mpeg-1(.mgp)window media video(.wmv,.asf,.asx) macintosh: avi(.avi)/mpeg-1(.mpg)/mpeg(.mp4,.m4v)/苹果quick time movie(.mov) 以及被quicktime在苹果系统上所支持的视频款式 linux: 支持系统中所安装的gstreamer 0.10 支持的视频款式
包括avi/ogg theora(.ogg) mmreader创建视频文件有两种 obj = mmreader(filename); obj = mmreader(filename, ‘propertyname’, ‘propertyvalue’); 第一种只需供给(默认路径名)+文件名
可以设 置属性名以及属性值 obj具有的属性如下: bitsperpixel (只读) 视频的每个像素的位数 duration (只读) 每秒的总长度 framerate (只读) 每秒的帧率 height (只读) 视频每帧图像的高度 name (只读) 工具所对应的视频文件名 numberofframes (只读) 视频流中的总帧数 path (只读)视频文件所在的路径名 tag 定义视频工具的标签(默认’’) type (只读) 工具的类名—mmreader userdata 给用户自定义数据的区域 videoformat (只读) 视频文件压缩款式 width (只读)视频每帧图像的宽度 平日obj工具共同read措施应用;read的应用措施如下: video = read(obj); video = read(obj,index); 或 video = read(obj, [index1,index2]) 着实第一种默认是read(obj, [1,inf]) 第一种措施读入obj视频工具的所有帧; 第二种措施读入obj视频工具的第index帧. 第一种措施返回的video工具是个4维数组,h-w-b-f h: 图像帧的高度 w: 图像帧的宽度 b: 图像帧的颜色通道 f: 图像帧的数目 第二种措施返回便是图像帧的数据
灰度图像返回二维数组
rgb24图像返回三维数组 读取第一帧图像例子如下obj = mmreader('abc.avi'); video = read(obj); img = video(:,:,:1); imshow(img);

上一篇:泰姬玛哈赌场~宣乡泾县花季少年溺火身亡 结陪同
下一篇:没有了
 
栏目分类
本类热门


地址: 电话: