Matlab:视频读取和帧保存

 时间:2026-02-14 01:52:34

1、VideoReader用法:

由命令help VideoReader,得

OBJ = VideoReader(FILENAME) constructs a multimedia reader object, OBJ, that can read in video data from a multimedia file.

FILENAME is a string specifying the name of a multimedia file.

There are no restrictions on file extensions.

By default, MATLAB looks for the file FILENAME on the MATLAB path.

该语句将视频文件读到OBJ结构,FILENAME为文件路径,可为绝对路径,默认路径为工程目录。

Matlab:视频读取和帧保存

2、VideoReader参数:

obj结构体:

obj = VideoReader('D://Media//111.mp4');%输入视频位置

Name –视频文件名

Path – 视频文件路径

Duration – 视频的总时长(多少秒)

FrameRate –视频帧速(帧/秒)

NumberOfFrames – 视频的总帧数

Height – 视频帧的高度

Width – 视频帧的宽度

BitsPerPixel – 视频帧每个像素的数据长度(比特)

VideoFormat – 视频的类型, 如 ‘RGB24’.

Tag – 视频对象的标识符,默认为空字符串”

Type – 视频对象的类名,默认为’VideoReader’.

示例:

obj_numberofframe = obj.NumberOfFrame;%读取总的帧数

obj_height = obj.Height;%读取视频帧高度

Matlab:视频读取和帧保存

3、read - 帧读取

frame = read(obj),%获取该视频对象的所有帧

frame = read(obj, index),%获取该视频对象的指定帧

frame = read(obj, 1);        % first frame only 获取第一帧

frame = read(obj, [1 10]);    % first 10 frames 获取前10帧

frame = read(obj,  Inf);       % last frame only 获取最后一帧

frame = read(obj,  [50 Inf]);   % frame 50 thru end 获取第50帧之后

Matlab:视频读取和帧保存

4、imwrite-帧保存

由命令help imwrite ,得

imwrite(A,FILENAME,FMT) writes the image A to the file specified by FILENAME in the format specified by FMT.

示例:

imwrite(frame,strcat('D:\image\cankao1\1.jpg'),'jpg');% 保存帧

%%%frame为待保存的某一帧

%%%strcat('D:\image\cankao1\1.jpg')为保存目录

%%%'jpg'为保存格式

Matlab:视频读取和帧保存

5、视频读取和帧保存程序:

obj = VideoReader('out.avi');%输入视频位置

numFrames = obj.NumberOfFrames;% 帧的总数

 for k = 1 : 15% 读取前15帧

     frame = read(obj,k);%读取第几帧

     imshow(frame);%显示帧

     imwrite(frame,strcat('im',num2str(k),'.jpg'),'jpg');% 保存帧

 end

Matlab:视频读取和帧保存

6、注意事项

有时在使用VideoReader读取视频时,matlab会报错:

matlab报错:

错误使用 VideoReader/init (line 619)

无法确定所需的编解码器。

出错 VideoReader (line 172)

     obj.init(fileName);

解决方法:下载完美转码者或格式工厂,将原视频进行转码,则报错消失。

Matlab:视频读取和帧保存

Matlab:视频读取和帧保存

  • 自己怎样在Matlab中搭建一个锁相环
  • 程序设计时绘制开始状态流程图的方法
  • 用Protel 99 SE绘制原理图前做什么准备?
  • 如何用matlab2014做电力系统仿真
  • Proteus创建一个项目,新建工程
  • 热门搜索
    苹果12怎么关机 我怎么这么有钱 麻婆豆腐怎么做 西安胡辣汤的做法 徙怎么读 麻花辫怎么编 年糕怎么做 胸口中间疼是怎么回事 头晕怎么办 冉怎么读