作者kevin190 (夏日晚風)
看板MATLAB
標題Re: [問題] matlab可以把影片轉成wmv或存成wmv嗎
時間Mon Jan 2 17:07:14 2012
你是要把Image Sequence轉成影片嗎?
下面是我的作法, 針對Xvid有效, 可以放在Office 2010上播放, 請自行存成.m檔
不過wmv我還不知道該怎麼弄, 如果有人知道請跟我說
首先請下載Xvid官方的Codec,確保電腦有安裝Xvid的Encoder
http://www.xvid.org/Downloads.15.0.html
如果是64位元的Matlab記得下載64位元版本的Codec
執行過程開始時可能Matlab會出現不認識Xvid的警告, 但不用理會
如果還是不能放在Powerpoint播放, 很大的原因出在該電腦的編解碼設定有問題
That's it...
= = =
clc;
clear all;
close all;
% 下面這五個變數是需要自行修改的部分
seqName = '';
imgSeqPath = '';
imgSeqPrefix = '';
subTiele = 'bmp';
firstFrameNum = 0;
% 程式會自動建立video資料夾存放輸出影片
if ~exist('.\\video', 'dir')
mkdir('.\\video');
end
outVideoName = sprintf('.\\video\\%s_%s.avi', seqName, datestr(now,
'yymmdd_HHMM'));
movFile = avifile(outVideoName, 'compression', 'Xvid', 'fps', 30, 'quality',
100);
fprintf('Start video encoding...\n');
frames = dir(fullfile(imgSeqPath, ['*.' subTiele]));
for frameNum=firstFrameNum:length(frames)
fprintf('.');
if ~mod(frameNum, 100)
fprintf(' [ %d ]\n', frameNum);
end
im1_path=sprintf('%s\\%s%d.%s', imgSeqPath, imgSeqPrefix, frameNum,
subTiele);
if exist(im1_path, 'file')
im1 = imread(im1_path);
movFile = addframe(movFile, im1);
end
end
mov_file = close(movFile);
fprintf(' done!\n');
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.27.27
※ 編輯: kevin190 來自: 140.114.27.27 (01/02 17:19)
1F:推 diva:謝謝 原來要用compression 01/03 00:24
2F:推 ilv:最近剛好要用到,謝謝分享! 01/04 08:37