matlab如何提取一段视频

matlab如何提取一段视频,第1张

以matlab自带的traffic.avi视频为例,可以这样来做清州:

%% 读视频

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12560356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存