数据价值-DataValues

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 297|回复: 0

[matlab] Matlab 提取视频的每一帧图像_Matlab培训

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
39029
发表于 2016-12-7 13:58:41 | 显示全部楼层 |阅读模式
Matlab 提取视频的每一帧图像,关键词:matlab提取视频每一帧、视频关键帧提取matlab,这里主要介绍如何在Matlab中提取视频的每一帧。,这里主要用到的函数时VideoReader,在help中有很详细的介绍,例1. Matlab中提供的实例,



,例2. 根据实例应用到自己的程序中,

%% Read Video
xyloObj = VideoReader(‘MVI_1268.MOV’);

nFrames = xyloObj.NumberOfFrames;
vidHeight = xyloObj.Height;
vidWidth = xyloObj.Width;

% Preallocate movie structure.
mov(1:nFrames) = …
    struct(‘cdata’, zeros(vidHeight, vidWidth, 3, ‘uint8’),…
           ‘colormap’, []);

% Read one frame at a time.
for k = 1 : nFrames
    mov(k).cdata = read(xyloObj, k);
end

% Size a figure based on the video’s width and height.
hf = figure;
set(hf, ‘position’, [150 150 vidWidth vidHeight])

% Play back the movie once at the video’s frame rate.
movie(hf, mov, 1, xyloObj.FrameRate);

%% Analysis
% load mov
frame1 = mov(1).cdata;
frame2 = mov(2).cdata;
frame50 = mov(50).cdata;
frame60 = mov(60).cdata;
save(‘frame1.mat’, ‘frame1’);
save(‘frame2.mat’, ‘frame2’);
save(‘frame50.mat’, ‘frame50’);
save(‘frame60.mat’, ‘frame60’);

,红色的几句就是提取第1, 2, 50, 60帧。若需要显示某一帧图像(比如第50帧)只需要加入这一句即可,
imshow(frame50);

,例3. 另一个实例,这里主要自定义了一些参数,如读取的帧数,保留的帧数, 播放帧率等,

clc
clear
close all

% 创建视频读取对象,并设置参数
xyloObj = VideoReader(‘20130313_11404701.avi’); % 3547帧

nFrames = xyloObj.NumberOfFrames;
vidHeight = xyloObj.Height;
vidWidth = xyloObj.Width;
FrameRate = xyloObj.FrameRate; % 24帧播放的

% 创建几帧数据的空间
frames = 101:110;
mov(1:length(frames)) = struct(‘cdata’, zeros(vidHeight, vidWidth, 3, ‘uint8’), ‘colormap’, []);

% 读数据
for k = 1 : length(frames)
    mov(k).cdata = read(xyloObj, frames(k));
end

% 基于video的分辨率创建figure
hf = figure;
set(hf, ‘position’, [150 150 vidWidth vidHeight])

% 播放视频
movie(hf, mov, 1, 10); % 在hf中以xyloObj.FrameRate帧率播放mov,播放1次

% 保存数据
save Frame101-110 mov vidHeight vidWidth

,
转载请注明:数据分析 » Matlab 提取视频的每一帧图像_Matlab培训
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|DataValues ( 赣ICP备16006919号 ) DataValues

GMT+8, 2019-8-24 19:28 , Processed in 0.142335 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表