如何从视频中提取每一帧图像

本文介绍了如何使用MATLAB从视频文件中提取图像帧。通过创建VideoReader对象并设置参数,可以读取指定视频的帧数、高度、宽度和帧率。然后,代码遍历视频,将每一帧保存为.jpg图像。实验中,每23帧保存一帧,共保存500帧图像。
摘要由CSDN通过智能技术生成

实验目的:从一部电影里提取出一秒里面多帧图像的一帧;

实验实代码:

clc

clear
close all
 
% 创建视频读取对象,并设置参数
xyloObj = VideoReader('j.mp4');
 
nFrames = xyloObj.NumberOfFrames;
vidHeight = xyloObj.Height;
vidWidth = xyloObj.Width;
FrameRate = xyloObj.FrameRate; % 24帧播放的
 
% 创建几帧数据的空间
A=nFrames/23;
A=fix(A);
frames = 1:nFrames;
mov(1:length(frames)) = struct('cdata', zeros(vidHeight, vidWidth, 3, 'uint8'), 'colormap', []);
 
% 读数据
for k = 1 : 500
    i=23*k;
    mov(i).cdata = read(xyloObj, frames(i));
    str=strcat('D:\pictures\',int2str(k),'.jpg')

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值