作者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