老版本的matlab7上如何读取视频帧
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:视频读取和帧保存
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:视频读取和帧保存
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:视频读取和帧保存
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:视频读取和帧保存
视频读取和帧保存程序:
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:视频读取和帧保存
注意事项
有时在使用VideoReader读取视频时,matlab会报错:
matlab报错:
错误使用 VideoReader/init (line 619)
无法确定所需的编解码器。
出错 VideoReader (line 172)
obj.init(fileName);
解决方法:下载完美转码者或格式工厂,将原视频进行转码,则报错消失。
Matlab:视频读取和帧保存
Matlab:视频读取和帧保存
由命令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:视频读取和帧保存
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:视频读取和帧保存
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:视频读取和帧保存
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:视频读取和帧保存
视频读取和帧保存程序:
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:视频读取和帧保存
注意事项
有时在使用VideoReader读取视频时,matlab会报错:
matlab报错:
错误使用 VideoReader/init (line 619)
无法确定所需的编解码器。
出错 VideoReader (line 172)
obj.init(fileName);
解决方法:下载完美转码者或格式工厂,将原视频进行转码,则报错消失。
Matlab:视频读取和帧保存
Matlab:视频读取和帧保存
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询