Matlab 将视频分成图片

我们在对视频分析的时候免不了要将视频存成一帧帧的图片形式,以下是matlab将视频分成图片的实现代码。

目录结构

set1/类别/*.avi

直接上代码

video_source_path = 'G:\action_predict\TV human Interaction\videos\set1';%源地址
image_aim_path = 'G:\action_predict\TV human Interaction\images\set1';%目标地址
dirs=dir(video_source_path);
dirs_list={dirs.name};
for i=3:size(dirs_list,2)
    i
    class_name=dirs_list{i};
   
    dirs2=dir(fullfile(video_source_path,class_name,'*.avi'));
    dirs_list2={dirs2.name};
    
    for j=1:size(dirs_list2,2)
        video_name=dirs_list2{j};
         image_path=fullfile(image_aim_path,class_name,video_name(1:end-4));
         video_path=fullfile(video_source_path,class_name,video_name);
         

    if ~exist(image_path)
        mkdir(image_path);
    end
    videohandle=VideoReader(video_path);
 
    videoFrames=read(videohandle);
    [~,~,~,video_num]=size(videoFrames);
   
    for k=1:1:video_num

        mov(k).cdata = videoFrames(:,:,:,k);
        mov(k).colormap = [];
        frame_name=strcat(video_name(1:end-4),'_',num2str(k),'.jpg');
        frame_path=fullfile(image_path,frame_name);
        imwrite(mov(k).cdata, frame_path,'jpg');
    end
    end
end

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值