如何使用matlab从视频中提取出一帧帧图像

如何使用matlab从视频中提取出一帧帧图像


原文链接:http://blog.sina.com.cn/s/blog_a5fdbf010101ao4f.html

 近期有需要,从视频里面提取图片,以前用软件搞的,但是现在视频太大了软件不能够一下全部将视频图片转换(因为电脑的内存不够),因此就想到使用程序读取一帧,保存一帧,然后清空,再循环,程序如下:

 

%% 从视频里面分割图片

clc;
clear;

%% 读取视频
video_file='video3sup.avi';
video=VideoReader(video_file);
frame_number=floor(video.Duration * video.FrameRate);

%% 分离图片
for i=1:frame_number
    image_name=strcat('video3sup\',num2str(i));
    image_name=strcat(image_name,'.jpg');
    I=read(video,i);            %读出图片
    imwrite(I,image_name,'jpg');      %写图片

    I=[];

end


你可能感兴趣的:(如何使用matlab从视频中提取出一帧帧图像)