有时候在实验过程中,为了获取一些数据,通常需要拍一些视频,但在数据处理过程中,有时候又需要从视频中的每一帧图片中提取相关信息,那么如何快速将视频转化为帧图片呢?我们在这里介绍基于matlab处理的方法。
只需要几行简单代码:
%将视频转化为帧
clear;
video_file='E:\my\视频.mp4'; %我的视频文件放在这个目录下
video=VideoReader(video_file);
frame_number=video.NumberOfFrames;
for i = 1:5:frame_number
image_name=strcat('E:\my\视频转图\',num2str((i-1)/5+1));
image_name=strcat(image_name,'.jpg');
I=read(video,i); %读出图片
imwrite(I,image_name,'jpg'); %写入图片
I=[];
end
这里我的视频文件名称为“视频.mp4",”frame_number"即为视频转化为图片后的总帧数,在这里我们设置每5帧输出一次,图片按照数字命名,即“num2str((i-1)/5+1)”。
最后便可得到一些列帧图片。
微信公众号关注“光学师兄的日常”查看更多相关内容。