求大佬分享一下matlab中可以处理视频文件的程序,能够读取视频文件某个帧的图像并可以获得图像信息

如题所述

将视频转换为帧图片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>>clc;clearall;closeall;mov=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);追问

这个cdata是什么问题呢

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答