当前位置: 首页 > ds >正文

【读写视频】MATLAB详细代码

MATLAB将视频逐帧输出

在MATLAB中,可以使用VideoReader和imwrite函数将视频逐帧输出为图像文件。以下是具体步骤和示例代码:

读取视频并逐帧保存为图像

首先,使用VideoReader函数读取视频文件,然后使用read函数逐帧读取视频,并使用imwrite函数将每一帧保存为图像文件。

% 清除工作区和关闭所有图形窗口
clc;
clear all;
close all;% 读取视频文件
fileName = 'video11.mp4';
obj = VideoReader(fileName);% 获取视频的总帧数
numFrames = obj.NumberOfFrames;% 设置保存图像文件的路径和文件名格式
outputFolder = 'E:\\研究生\\project\\frame11\\';
numZeros = 4; % 文件名中的数字长度
nz = strcat('%0', num2str(numZeros), 'd');% 逐帧读取视频并保存为图像文件
for k = 1:numFrames
frame = read(obj, k); % 读取第k帧
imshow(frame); % 显示帧
imwrite(frame, strcat(outputFolder, sprintf(nz, k), '.jpg'), 'jpg'); % 保存帧
end

将图像序列输出为视频

接下来,可以使用VideoWriter和writeVideo函数将图像序列输出为视频文件。

% 创建视频文件
writerObj = VideoWriter('output_video.mp4', 'MPEG-4');
open(writerObj); % 打开视频文件% 设置视频的宽高
H = 720; % 高度
W = 1280; % 宽度% 读取图像文件并写入视频
for k = 1:numFrames
frame = imread(strcat(outputFolder, sprintf(nz, k), '.jpg')); % 读取图像文件
frame = imresize(frame, [H W]); % 调整图像大小
writeVideo(writerObj, frame); % 将帧写入视频
endclose(writerObj); % 关闭视频文件
http://www.xdnf.cn/news/2470.html

相关文章:

  • 【Go语言】ORM(对象关系映射)库
  • flutter 选择图片 用九宫格显示图片,右上角X删除选择图片,点击查看图片放大缩小,在多张图片可以左右滑动查看图片
  • QT中的文件操作
  • 在CentOS 8上在线安装Docker
  • ubuntu扩展逻辑卷并调整文件系统大小步骤
  • 1到12月和1到31日英文表达
  • Lua 第10部分 模式匹配
  • 在AWS Glue中实现缓慢变化维度(SCD)的三种类型
  • 阿里云直接对系统云盘扩容
  • OceanBase数据库-学习笔记1-概论
  • 为什么从Word复制到PPT的格式总是乱掉?
  • 使用Aspose.Words将Word转换为HTML时,字体样式丢失问题及解决方法
  • OpenCV彩色图像分割
  • 操作系统:计算机世界的基石与演进
  • 展销编辑器操作难度及优势分析​
  • kafka 中消费者 groupId 是什么
  • Word处理控件Spire.Doc系列教程:C# 通过模板创建 Word 文档
  • 【Java】IntelliJ IDEA 社区版安装
  • MAVLink协议:原理、应用与实践
  • 4.26 数据交互升级引入配置文件
  • Python 第 12、13 节课 - 元组和列表
  • C语言 函数递归
  • TP4056 电池管理芯片介绍及电路应用
  • 计算机二级MS Office第八套演示文稿
  • Pygame入门:零基础打造你的第一个游戏窗口
  • [C++] 高精度乘法
  • 八猴渲染器三维场景实时预览软件 Marmoset Toolbag 5.01 安装包免费下载
  • 九、内联函数(Inline Functions)
  • 《Keras 3部署全攻略:从新手到实战高手》
  • 网络流之最大流(Dinic)