matlab:圖片幀合成視頻

function pic2video(dn, picformat,aviname)
% CreatVideoFromPic(dn, picformat,aviname)
% 將某個文件夾下某種格式的所有圖片合成爲視頻文件
% dn : 存儲圖片的文件夾
% picformat : 要讀取的圖片的格式,如png、jpg等形式,字符串數組
% aviname   : 存儲的視頻的文件名
% example : pic2video( './', 'png','presentation.avi');

    if ~exist(dn, 'dir')
        error('dir not exist!!!!');
    end
    picname=fullfile( dn, strcat('*.',picformat));
    picname=dir(picname);

    aviobj = VideoWriter(aviname);

    open(aviobj);

    for i=1:length(picname)
        picdata=imread( fullfile(dn, (picname(i,1).name)));
        if ~isempty( aviobj.Height)
            if size(picdata,1) ~= aviobj.Height || size(picdata,2) ~= aviobj.Width
                close(aviobj);
                delete( aviname )
                error('所有圖片的尺寸要相同!!');
            end
        end
        writeVideo(aviobj,picdata);
    end
    close(aviobj);
end

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章