ffmpeg从视频提取图片序列

ffmpeg for windows下载地址:

https://pan.baidu.com/s/1e7ijrcu1wRWUANjNj4S00g

下载完后,将ffmpeg可执行文件所在的目录添加到环境变量中。

下面给出的是利用matlab调用ffmpeg进行批量处理的代码:


exe_cmd = 'ffmpeg';
root_path = 'E:/eclipse_workplace/test1/src/test/lstm_activity_recognition/UCF-101';
speed = '30';

activity_class_list = dir(root_path);
activity_class_list = activity_class_list(3:end); % remove '.' and '..'
nclass = length(activity_class_list);
class_names = cell(nclass,1);
for i = 1:length(activity_class_list)
    class_names{i} =  activity_class_list(i).name;
    each_class_set = dir([root_path '/' class_names{i} '/*.avi']);
    for j = 1:length(each_class_set)
        avi_name = each_class_set(j).name;
        s = strfind(avi_name,'.avi');
        avi_name_pre = avi_name(1:s-1);
        img_path = [root_path '/' class_names{i} '/' avi_name_pre];
        if ~exist(img_path,'dir')
            mkdir(img_path);
        end
        avi_input = [root_path '/' class_names{i} '/' each_class_set(j).name];
        img_output = [img_path '/' avi_name_pre '.%4d.jpg'];

        cmd_line = [exe_cmd ' -i ' avi_input ' -r ' speed ' ' img_output];
        system(cmd_line);
        disp([num2str(i) ':'  num2str(j)]);
    end

end

% imgpath = 'v_ApplyEyeMakeup_g01_c01/';
% imglist = dir([imgpath '/*.jpg']);
% disp([num2str(length(imglist)) '张图像!']);
% for i = 1:length(imglist)
%     imgname = [imgpath imglist(i).name];
%     img = imread(imgname);
%     imshow(img);
%     pause(0.01);
%
% end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值