读取视频帧matlab

前言

视频处理分析的过程中,需要用到将视频一帧帧地读取,本文就涉及此问题。

系统环境

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 = 1 : numFrames
    frame = read(obj,i);
    imshow(frame);
    imwrite(frame,strcat(num2str(i),‘.jpg‘),‘jpg‘);
end

代码二:

%To read video frames.
clc
clear
close all

fileName = ‘E:\fatigue_detection\dataset\segVideosP1\1_5.avi‘;  

xyloObj = VideoReader(fileName);

vidWidth = xyloObj.Width;
vidHeight = xyloObj.Height;
% mov = struct(‘cdata‘,zeros(vidHeight,vidWidth,3,‘uint8‘),‘colormap‘,[]);

while hasFrame(xyloObj)
    frame = readFrame(xyloObj);
    imshow(frame);
end

代码可参考matlab的help文档;

注意:不同版本之间可能会存在一些代码问题,可参考help文档进行修正;

时间: 2024-08-28 00:31:06

读取视频帧matlab的相关文章

FFMPEG系列课程(二)读取视频帧

再来介绍下如何读取视频帧,打开视频参考前面的文章,首先需要创建一个帧的存放对象 AVPacket pkt; memset(&pkt, 0, sizeof(AVPacket)); 再通过 int err = av_read_frame(ic, &pkt); 读取帧数据,其中ic是之前打开的视频流句柄.读取视频帧后要注意一点av_read_frame会自动给视频帧分配空间,返回值0表示成功. 可以通过 av_packet_unref(&pkt);删除packet的控制,注意这里删除的不

也谈matlab中读取视频的一个重要函数mmreader

也谈matlab中读取视频的一个重要函数mmreader 在matlab中输入help mmreader来查阅一下该函数,有如下信息: MMREADER Create a multimedia reader object.     OBJ = MMREADER(FILENAME) constructs a multimedia reader object, OBJ, that    can read in video data from a multimedia file.  FILENAME

matlab 读取视频文件和摄像头

一.视频的读取和显示 视频数据的读取要用到VideoReader这个函数,按照matlab软件中举的例子,基本流程是在用VideoReader建立一个obj后,采用read函数来读取一帧帧图像,最后用movie函数来放映视频.但是matlab自带的函数读取avi格式的视频时也只能读取那些原始格式的avi,比较局限性.其读取过程可以采用下面2种方法: 先读完,再显示. 即先将视频数据读取到内存的结构体中,然后直接从内存中拿数据来显示,这显示的视频看起来比较流畅,可是一开始把所有数据读入内存的过程所

【EMGU】读取视频AVI文件+保存任意帧为图片

文章简介:对拍取的视频需要手动截取或者分帧截取图片,本文拟实现此功能.可多次.任意帧截取. 操作说明:空格键开始截取,回车键退出视频. 开发环境:EMGU2.4.9 + VS2010 +Win7(64). public void VideoCatch(string filepath) { try { IntPtr CatchFrame =CvInvoke.cvCreateFileCapture(filepath); CvInvoke.cvNamedWindow("打开视频"); //

python_Opencv_读取视频_摄像头

目标 • 学会读取视频文件,显示视频,保存视频文件 • 学会从摄像头获取并显示视频 • 你将会学习到这些函数:cv2.VideoCapture(),cv2.VideoWrite()用摄像头捕获视频 使用摄像头来捕获一段视频,并把它转换成灰度视频显示出来. 首先应该创建一个VideoCapture 对象,参数可以是设备的索引号,或者是一个视频文件. 设备索引号就是在指定要使用的摄像头.一般的笔记本电脑都有内置摄像头.所以参数就是0.你可以通过设置成1或者其他的来选择别的摄像头. 之后,你就可以一帧

Opencv 读取视频,随播放滚动的视频条,canny检测。

实现视频条的拖动需要使用全局变量g_slider_position,和回调函数onTrackbarSlider(). 拖动条由函数cvCreateTrackbar()函数产生,具体调用为: 1 cvCreateTrackbar("position", 2 "Original", 3 &g_slider_position, 4 frames, 5 onTrackbarSlider); 6 } “position” 为拖动条名称,“Original”为显示窗口名

opencv学习之路(2)、读取视频,读取摄像头

一.介绍 视频读取本质上就是读取图像,因为视频是由一帧一帧图像组成的.1秒24帧基本就能流畅的读取视频了. ①读取视频有两种方法: A. VideoCapture cap; cap.open("1.avi"); B. VideoCapture cap("1.avi"); ②循环显示每一帧: while(1) { Mat frame; //定义Mat变量,用来存储每一帧 cap>>frame; //读取当前帧方法一 //cap.read(frame); /

OpenCV读取视频和图像序列

在使用OpenCV时候,我们首先会做的是获取待处理的图像,这个图像可能来源于已存储的视频文件.也可能来源于实时的摄像头画面.或是某个文件夹下的一系列图片.或许你会觉得,这都是小菜一碟,因为我们学习OpenCV的第一步一般是学习如何加载和显示一幅图片.对于打开摄像头或是读取视频的程序,网上也是一抓一大把.如果你是初学者,不妨看一下我下面的总结,或许有你不曾注意到的. 对于图像或视频的加载.显示.窗口设置.工具条.图像合并为视频.视频分割成图像.打开视频或摄像头等操作的定义是放在OpenCV的hig

在opencv下读取视频保存为图片

VideoCapture capture; capture.open("D:\\car.avi");//读取视频 对于视频下一帧的读取: capture>>frameImg;//读取视频流下一帧控制,字符重载 对于视频的图片保存 std::stringstream ss;//存储图片路径保存信息 ss<<"D:/output/image_"<<setfill('0')<<setw(3)<<(nCount-1