matlab读写视频VideoReader/VideoWriter
前言
视频处理分析的过程中,需要用到将视频一帧帧地读取、写入,本文就涉及此问题。
系统环境
1.系统:win7_64
2.matlab版本:matlab2015a
测试代码
代码一(读视频):
%To read video frames.
clc
clear
close all fileName = 'E:\fatigue_detection\dataset\segVideosP1\1_5.avi';
obj = VideoReader(fileName);
numFrames = obj.NumberOfFrames;
for i = : numFrames
frame = read(obj,i);
imshow(frame);
imwrite(frame,strcat(num2str(i),'.jpg'),'jpg');
end
代码二(读视频):
fileName = 'E:\fatigue_detection\dataset\segVideosP1\1_5.avi'; xyloObj = VideoReader(fileName); vidWidth = xyloObj.Width;
vidHeight = xyloObj.Height;
% mov = struct('cdata',zeros(vidHeight,vidWidth,,'uint8'),'colormap',[]); while hasFrame(xyloObj)
frame = readFrame(xyloObj);
imshow(frame);
end
代码三(写视频):
写视频步骤:
创建视频文件VideoWriter - > 打开视频文件open - > 获取视频帧并写入视频文件writeVideo -> 关闭视频文件close.
fileName = 'E:\fatigue_detection\dataset\segVideosP1\1_5.avi'; %method2
xyloObj = VideoReader(fileName);
vidWidth = xyloObj.Width;
vidHeight = xyloObj.Height;
fps = xyloObj.FrameRate; out = VideoWriter('out.avi');
out.FrameRate = fps;
open(out);
while hasFrame(xyloObj)
frame = readFrame(xyloObj);
writeVideo(out, frame);
end
close(out);
代码可参考matlab的help文档.
注意:
1.不同版本之间可能会存在一些代码问题,可参考help文档进行修正.
2.写入视频文件之前要先打开文件,写入完毕之后要关闭文件.
完
matlab读写视频VideoReader/VideoWriter的更多相关文章
- matlab读写图片,读取图像序列,读取AVI视频
介绍使用matlab读写图片,读取图像序列,读取AVI视频的方法: 一.读写图像 使用matlab读一幅图像,并另存 % Filename: ImageReadWrite clc; clear; i ...
- opencv中读写视频
1.介绍 OpenCV 读写视频之前,先介绍一下编解码器(codec) .如果是图像文件, 我们可以根据文件扩展名得知图像的格式.但是此经验并不能推广到视频文件中. 有些 OpenCV 用户会碰到奇怪 ...
- OpenCV读写视频文件解析(二)
OpenCV读写视频文件解析(二) VideoCapture::set 设置视频捕获中的属性. C++:bool VideoCapture::set(int propId, double value) ...
- OpenCV读写视频文件解析
OpenCV读写视频文件解析 一.视频读写类 视频处理的是运动图像,而不是静止图像.视频资源可以是一个专用摄像机.网络摄像头.视频文件或图像文件序列. 在 OpenCV 中,VideoCapture ...
- Matlab摄像头视频基本处理
一.读取摄像头 1.首先保证摄像头及其驱动正确在电脑上安装 2.简单的代码显示驱动摄像头,并显示: vid = videoinput('winvideo',1); preview(vid); 3.默认 ...
- MATLAB读视频报错 Unable to initialize the video obtain properties (videoreader in Matlab)
这个bug卡了半天,这里记录一下 Error using VideoReader/init (line ) Could not read file due to an unexpected error ...
- 【matlab】使用VideoReader提取视频的每一帧,不能用aviread函数~
这个问题是matlab版本问题,已经不用aviread函数了~ VideoReader里面没有cdata这个函数! MATLAB不支持avireader了,而且没有cdata这个属性了,详情去官网ht ...
- opencv读写视频,对感兴趣区域进行裁剪
作为小码农,本人最近想对一段视频的某个区域进行处理,因此要将该段视频区域裁剪出来,搜搜网上,发现没有痕迹,是故自己琢磨一下,左右借鉴,编了如下代码,目标得以实现,希望对你有用. #include &q ...
- OpenCV读写视频操作
一.读取视频流 在使用OpenCV读取摄像头,或者处理一些磁盘中保存的视频文件时,通常使用VideoCapture进行读取. std::string video_path("/path/to ...
随机推荐
- [ios][swift]UIButton
参考:http://www.hangge.com/blog/cache/detail_529.html
- spring boot 开发 提交form表单出错
提交表单时,字段有的没有值,springboot 会报错. org.springframework.validation.BindException: org.springframework.vali ...
- Fisher线性判别分析
Fisher线性判别分析 1.概述 在使用统计方法处理模式识别问题时,往往是在低维空间展开研究,然而实际中数据往往是高维的,基于统计的方法往往很难求解,因此降维成了解决问题的突破口. 假设数据存在于d ...
- Lua中数组的学习
--数组的大小是不固定的 --一维数组的逻辑结构是线性表索引从1开始 array1 = {"Lua", "Tutorial"} , do print(array ...
- js 变量声明 (var使用与不使用的区别)
js 变量声明 (var使用与不使用的区别) 一.总结 一句话总结:不使用var声明变量的时候,变量是全局对象(window对象)属性,在全局中使用var声明变量是全局变量 var 全局变量 局部变量 ...
- Intellij IDEA 搭建Spring Boot项目(一)
原文出处 第一步选择File –> New –> Project –>Spring Initialer –> 点击Next 第二步自己修改 Group 和 Artifact 字 ...
- Linux 虚拟内存和物理内存的理解
关于Linux 虚拟内存和物理内存的理解. 首先,让我们看下虚拟内存: 第一层理解 1. 每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构 2. 一个新进程建立的时候,将会建立起自 ...
- Vue组件(知识)
form最后一节. 组件基础 组件的复用: data必须是函数 组织 通过Prop向子组件传递data 单个根元素 通过event向父组件发送消息: 使用事件抛出一个value, 在组件上用v-mo ...
- 秒杀多线程第三篇 原子操作 Interlocked系列函数
上一篇<多线程第一次亲密接触 CreateThread与_beginthreadex本质区别>中讲到一个多线程报数功能.为了描述方便和代码简洁起见,我们可以只输出最后的报数结果来观察程序是 ...
- CoderForce 148D-Bag of mice (概率DP求概率)
题目大意:美女与野兽在玩画鸽子的游戏.鸽子在用黑布遮住的笼子里,白色的有w只,黑色的有b只,每次拿出一只作画,谁先画到白色的鸽子谁就赢.美女首先画,因为野兽太丑,它每次画的时候都会吓跑一只鸽子,所有出 ...