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 ...
随机推荐
- Java DecimalFormat的主要功能及使用方法
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字.该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言.阿拉伯语和印度语数字的支持. ...
- 《A_Pancers》团队项目用户验收评审
团队项目用户验收评审 一.关于源代码管理的10 个问题: 1.你的团队的源代码控制在哪里?用的是什么系统?如何处理文件的锁定问题? 我们的项目都在github上面,用的win10系统,并且我们的文件没 ...
- Use a layout_width of 0dip instead of fill_parent for better performance
安装了最新的ATD 18之后,新加的Lint Warnings插件会给我们检测出许多xml布局中不当的地方,例如: Use a layout_width of 0dip instead of fill ...
- java后台校验 hibernate validator
链接 : https://www.cnblogs.com/softidea/p/6044123.html
- Codeforces 595C - Warrior and Archer
595C - Warrior and Archer 思路:设最后答案的区间为[l,r],那么r-l等于n/2,因为在(l,r)中的点都是其中一个人挖掉的,[0,l)和(r,n]中的点是另一个人挖掉的, ...
- StartCoroutine 和 StopCoroutine
我的Unity版本是2017.2.0p4(64-bit) StartCoroutine的两个版本: StartCoroutine(string methodName) StartCoroutine(I ...
- 很实用且容易忘记的小命令 for Linux(更新中...)
系统相关 # 系统安装日期 sudo tune2fs -l /dev/sda1 |grep create # 查看centos版本命令 rpm -q centos-release #查看centos版 ...
- LeetCode--198--打家劫舍
问题描述: 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给 ...
- iOS UI-三种简单的动画设置
一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView beginAnimations:nil context:nil]; //设置动画时长 ...
- Data Guard Wait Events
This note describes the wait events that monitor the performance of the log transport modes that wer ...