【MATLAB】读入视频存成帧处理和输出视频

该博客介绍了如何使用MATLAB进行视频处理,包括使用VideoReader读取视频并按帧存储,以及利用VideoWriter创建和输出视频。具体操作涉及read函数获取帧,imwrite保存帧为图片,以及writeVideo将图像写入视频文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【MATLAB】读入视频存成帧处理和输出视频

一、读入视频存成帧

VideoReaderstrcatreadimwrite

1.VideoReader
是读入视频函数。用来读入视频。具体用法如下代码所示,具体参数如下图所示:

fileName = 'video11.mp4';
obj = VideoReader(fileName);

在这里插入图片描述
2.strcat
字符串连接函数。strcat(str,ptr)表示将字符串ptr的内容连接到字符串str后,得到一个组合后的字符串str。

3.read
读取视频帧函数。可以通过设置参数获得所需要的帧。

frame = read(obj),%获取所有帧
frame = read(obj,index),%获取指定帧
frame = read(obj, 1);         %获取第一帧
frame = read(obj, [1 10]);    % 获取前10帧
frame = read(obj, Inf);       % 获取最后一帧
frame = read(obj, [50 Inf]);  % 获取第50帧之后所有帧

4.imwrite
将图像存入指定文件。imwrite(A,filename,fmt)A表示待保存图像数据,filename表示保存目录,fmt表示保存格式。

具体例子:

fileName = 'video11.mp4';
obj = VideoReader(fileName);
numFrames = obj.NumberOfFrames;% 帧的总数
for k = 1 : numFrames% 读取数据
frame = read(obj,k);
imshow(frame);%显示帧
imwrite(frame,strcat('E:\研究生\project\frame11\',num2str(k),'.jpg'),'jpg');% 保存帧。 
end

二、输出视频

VideoWriterwriteVideo

1.VideoWriter

创建视频文件函数。writerObj=VideoWriter('test.mp4');创建一个叫test的mp4视频文件。

2.writeVideo

从图像中创建视频。

writerObj = VideoWriter(filename,profile)
  • filename:表示单引号引用的字符串来指定视频文件名,文件名可以加扩展名,也可以不加。(支持的视频文件扩展名有:avi,.mj2,.mp4 或.m4v。)若不加则根据profile的设置来自动加上.avi,.mj2,.mp4 或者.m4v的扩展名。
  • profile:单引号引用的字符串来指定创建的视频的类型。

具体例子:

writerObj=VideoWriter('test.mp4');  % 定义一个视频文件用来存动画
open(writerObj);                    % 打开视频文件
frame = getframe;            % 把图像存入视频文件中
frame.cdata = imresize(frame.cdata, [H W]); % 设置视频宽高:H为行数(高),W为列数(宽)
writeVideo(writerObj,frame); % 将帧写入视频
close(writerObj); % 关闭视频文件

参考:
https://blog.csdn.net/mingtian715/article/details/50555529
https://blog.csdn.net/qq_23097931/article/details/51108747
https://blog.csdn.net/iracer/article/details/48876473

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值