MATLAB视频处理函数

本文介绍如何使用Matlab进行视频处理,包括视频读取、播放、信息获取及格式转换等操作。并提供了一个实例,演示如何读取视频帧并保存为图片文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、视频输入

   1. aviread

二、视频播放

   movie

三、视频文件信息

   aviinfo

四、视频格式转换

   movie2avi

 

  随便拿avi文件进行读取转换,会出错,原因之一:aviread函数只能读取特定编码格式的avi视频,解决办法三个:

1、下载个转换器,转换你的编码格式

2、利用另一个matlab函数:mmreader可以读取更多格式的avi视频(2010版本才能支持)

3、高版本的matlab,aviread函数得到了升级,可以读取很多编码格式的avi……

例程:

 

[filename,pathname,fileindex]=uigetfile('*.avi','请选择一个Avi文件');

video_info=aviinfo([pathname filename]);

% info =

%               Filename:  视频名称

%               FileSize:  视频大小

%            FileModDate:  视频创建日期

%              NumFrames:  视频总帧数

%        FramesPerSecond:  视频采集速率

%                  Width:  视频宽度

%                 Height:  视频高度

%              ImageType: 'truecolor'  图像模式

%       VideoCompression: 'DIV3'  视频图像压缩格式

%                Quality: 0

%     NumColormapEntries: 0

LEN=video_info.NumFrames; %获得视频长度

for k=1:LEN

    video_videotape(k)=aviread(video_info.Filename,k);   %读入avi文件的第k帧    

    video_image=video_videotape(k).cdata;

    if k<10

        imwrite(video_image,strcat('0000',int2str(k),'.bmp'),'bmp');%把每帧图像存入硬盘

    elseif k>=10 & k<100

        imwrite(video_image,strcat('000',int2str(k),'.bmp'),'bmp');%把每帧图像存入硬盘

    elseif k>=100 & k<1000

        imwrite(video_image,strcat('00',int2str(k),'.bmp'),'bmp');%把每帧图像存入硬盘

    elseif k>=1000 & k<1000

        imwrite(video_image,strcat('0',int2str(k),'.bmp'),'bmp');%把每帧图像存入硬盘 

    else

        imwrite(video_image,strcat(int2str(k),'.bmp'),'bmp');%把每帧图像存入硬盘

    end

end

备注:通过更改imwrite那儿的很多参数,可以获得自己想要的很多结果,比如更改bmp为jpg,

以及其它,具体请在MATLAB下help imwrite。

clear all  

mov=mmreader('nba.avi');     %用mmreader读入视频文件 

for i=1:mov.numberofframes   %获得总帧数,并依次读取 

b=read(mov,i);

imwrite(b,strcat('m',int2str(i),'.bmp'),'bmp');   %把第i帧的图片写为'mi.bmp' 

end

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值