%% 读视频
vObj = VideoReader('traffic.avi');
nFrames = vObj.NumberOfFrames;
%截取视频片段
myMovie = read(vObj,[1 nFrames-1]);
%% 写视频
%初始化
myVideo = VideoWriter('myfile.avi', '答敏蔽Uncompressed AVI');
myVideo.FrameRate = 15;
%写入截取的视频
open(myVideo);
writeVideo(myVideo, myMovie);。拿滑
将视频转换为帧图片mov=aviread('D:\road2.avi')%读入fnum=size(mov,2)%读取视频的祯数,mov为1*fnum矩阵fori=1:fnumstrtemp=strcat('D:\cc\',int2str(i),'.','bmp')%将每祯转成bmp格式的图片imwrite(mov(i).cdata(:,:,:),strtemp)end我的视频是D盘中的road2,存入的文件是D盘CC文件判罩夹,你按你的路径输入。对AVI的格式昌明有要求,转成非压缩的24位RGB就可以了虽同AVI文件,但压缩率是不同的,而MATLAB认不出压缩的AVI,所以读不进去会出错,只有将AVI还原为未压缩的情况下,MATLAB才能顺利读入。可以试一下aviinfo查看一下avi视频文件的压缩格式,一般是无压缩的可以正常读取。>>aviinfotraffic.avians=Filename:'D:\ProgramFiles\MATLAB\R2009a\toolbox\images\imdemos\traffic.avi'FileSize:208896FileModDate:'20-八月-200712:34:40'NumFrames:120FramesPerSecond:15Width:160Height:120ImageType:'truecolor'VideoCompression:'MP42'Quality:0NumColormapEntries:0>>clcclearallcloseallmov=aviread('rhinos.avi')%读入fnum=size(mov,2)%读取视频的祯数,mov为1*fnum矩阵figure(1)fori=1:fnumstrtemp=strcat(int2str(i),'耐冲告.','bmp')%将每祯转成bmp格式的图片imwrite(mov(i).cdata(:,:,:),strtemp)figure(1)imshow(mov(i).cdata(:,:,:),[])pause(0.1)用matlab读取avi电影(只能读一定压缩各式的avi电影)aviinfo('d:\j.avi'搜乎谨)
%显示存在d盘的电影j.avi的信息
mov=aviread('d:\j.avi')
%读入存在d盘的电影j.avi
movie(mov)
%放映电影
将电影转成图片序列
mov=aviread('d:\j.avi')
%读入
fnum=size(mov,2)
%读取电世基影的祯数,mov为1*temp
for
i=1:fnum
strtemp=strcat('d:\转换的图片\',
int2str
(i),'.','jpg'顷祥)%将每祯转成jpg的图片
imwrite(mov(i).cdata(:,:,Smile,mov(i).colormap,strtemp)
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)