看板 MATLAB 關於我們 聯絡資訊
你是要把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)
diva:謝謝 原來要用compression 01/03 00:24
ilv:最近剛好要用到,謝謝分享! 01/04 08:37