Matlab视频处理
一、读取视频文件
aviread:这个函数读取一个AVI电影并将其帧存入MATLAB的一个movie结构中。( 新版本将用VideoReader替换aviread )
mov=aviread(filename); mov=aviread(filename,index);
aviinfo:返回一个结构,其场中包含有关将AVI文件作为参数调用的信息(如,帧宽度和高度、总帧数、帧率、文件尺寸等)
mmreader:构建一个多媒体读者对象,它可读取多种多媒体文件格式里的视频数据。
二、处理视频文件
使用frame2im将帧转化为一副图像。
使用im2frame将结果转换回帧。
三、播放视频文件
avifile:生成一个新的AVI文件,其后它可被用视频按不同方式填充。
movie2avi:从一个MATLAB的movie来生成一个AVI文件。
示例
1、读取视频文件有关信息
file_name='bike.avi'; file_info=aviinfo(file_name); //读取一个视频文件的信息,并将其存入一个局部变量。 file_info.VideoCompression //观察这个文件的压缩 file_info.NumFrames //观察这个文件帧数
2、读取一个视频文件
my_movie=aviread(file_name);//使用函数aviread将bike.avi文件载入
//载入5,10,15,20个帧 frame_nums=[5 10 15 20]; my_movie2=aviread(file_name,frame_nums); //检查结构my_movie2的第一帧 my_movie(1) 使用函数imshow将第一帧看作一幅图像 imshow(my_movie(1).cdata)
3、播放一个视频文件
使用默认设置播放视频
movie(my_movie)
用30fps的帧率播放视频5次
movie(my_movie,5,30)
仅播放第1帧到第10帧
frames=[5 1:10]; movie(my_movie,frames,30)
4、处理单独的帧
将第10帧转化为一幅图像并进一步处理
old_img=frame2im(my_movie(10));
示例代码:
clc; video=mmreader('E:\\图片\\视频材料\\bike.avi'); nFrames=video.NumberOfFrames; %得到帧数 H=video.Height; %得到高度 W=video.Width; %得到宽度 Rate=video.FrameRate; %重新分配视频结构 mov(1:nFrames)=struct('cdata',zeros(H,W,3,'uint8'),'colormap',[]); %每次读取一帧 for i=1:nFrames mov(i).cdata=read(video,i); P=mov(i).cdata; disp('当前播帧数:'),disp(i); imshow(P),title('原始图片'); %P2=rgb2gray(P); end
clear;
运行结果:
matlab2012已经抛弃了aviread和mmread,现在采用的是VideoReader
1、读取视频并将每一帧保存成图片
示例代码及运行结果
fileName = 'E:\\图片\\视频材料\\bike.avi'; numFrames = obj.NumberOfFrames;% 帧的总数 for k = 1 : numFrames % 读取数据 frame = read(obj,k); imshow(frame); %显示帧 imwrite(frame,strcat(num2str(k),'.jpg'),'jpg');% 保存帧 end
obj = VideoReader(fileName);
运行结果
Matlab视频处理相关推荐
- MATLAB视频截取和缩放
MATLAB视频截取和缩放 1 按帧截取 2 按时间截取 3 视频缩放 4 总体代码 利用Matlab进行视频处理时,经常需要做的是对视频进行截取,这里截取的方式有两种:按时间截取和按帧截取.截取之后 ...
- MATLAB视频运动目标检测参考源码
MATLAB视频运动目标检测参考源码 将视频截取成帧 fileName = 'q.avi'; %此处输入视频名称,要带后缀,注意好像只有wmv和avi格式 obj = VideoReader(file ...
- 基于matlab测量物体直径,基于MATLAB视频工件处理的在线检测.doc
摘要:这些年来,基于Matlab视频处理工件的尺寸测量方法技术已经深入到各行各业,实现了高精度测量和微小物体测量.它融入了各个学科的能源技术,成为了一门综合性的学科.收集图像信息是Matlab视频处理 ...
- matlab视频保存为图片
将如下代码保存到m文件,不是函数文件,是script文件, matlab 将视频保存为图片 可以根据需要自行修改 [filename,pathname,fileindex]=uigetfile('*. ...
- matlab处理视频代码,Matlab视频处理心脏跳动。代码补充
我正在努力编写一段代码,帮助我进行生物学工作. 代码的概念是分析在组织中收缩细胞的视频文件 Example 1 示例2:youtube.com/watch?v=uG_WOdGw6Rk 并绘出以下内容: ...
- MATLAB视频转换
视频转换的出自一个博客 http://blog.csdn.net/kit_147/article/details/5491460 今天用MATLAB读取AVI视频,报错:Unable to locat ...
- MATLAB 视频与图像转换
本节主要讲解一下如何使用MATLAB实现视频转换成帧图片,以及帧图片如何连接成视频. MATLAB将视频转换成帧图片 我们将该过程分解成一下几个步骤: 读取视频,获取视频属性. 取得视频的每一帧图片, ...
- matlab图片存为视频,matlab视频保存为图片
将如下代码保存到m文件,不是函数文件,是script文件, matlab 将视频保存为图片 可以根据需要自行修改 [filename,pathname,fileindex]=uigetfile('*. ...
- matlab视频帧间差分法,帧间差分法matlab代码
程序 1 背景差分法 MATLAB 实现 function temp3 d=60... 图3.背景差分运动检测 1.3.3阈值的选取(如果调用 MATLAB 函数实现灰度图转二值图,则 不用考虑)选取 ...
最新文章
- EC20模组使用MQTT库对接EMQX,基于STM32F407
- Linux常用命令全网最全
- 数字图像处理 采样定理_数字图像处理基础知识总结
- ros melodic控制真实机械臂之等周期输出插补点
- oracle 重设基线,Oracle SQL执行计划基线总结(SQL Plan Baseline)
- HDOJ-1999 不可摸数
- PAT1030.——完美数列
- 全网首发:GB18030制定者站出来,$为什么要显示为¥,给大家解释一下
- 蛋白质ph稳定性计算机模拟,基于计算机模拟、自组装和力谱技术的蛋白质分子间相互作用研究...
- [原创]淘宝天猫抢购软件“tbBuyer“
- 2353410-06-5,TCO-PEG8-TFP ester单分散交联剂,含有TCO部分和PFP酯
- python 读写+画图
- c语言求两个字符串的交集,用c语言求两个集合的交集,并集,差集
- 最好的jpg转pdf软件
- 一种经典的客户关系管理系统(CRM)订单模型的设计与实现
- 2022基金从业人员资格管理及后续职业培训 部分答案(自答)
- java练习题--商品管理系统
- 微信小程序学习笔记一 + 小程序介绍 前置知识
- 数据结构与算法分析(三)数组练习代码
- win11系统电脑插入u盘不能读取的解决方法
热门文章
- 成熟才是男人应该有的标志//2021-2-15
- 小众浏览器测评 | 星愿 | 百分cent | Vivaldi | Brave
- Unity 调用系统自带的虚拟键盘
- xch-sboot单体服务架子
- android 谷歌地图围栏,如何在谷歌地图与c做地理围栏#
- 从零开始的openGL--cs游戏(14) 延迟渲染G缓冲。
- 输入文字时自动带空格解决办法
- 最新2022年高职大数据国赛任务书详解与模拟练习
- Postgresql12+Pgpool-ii 4.1高可用集群
- 富士胶片记录媒体:磁带存储或将成为数据安全的最后防线