您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页用matlab读取avi电影

用matlab读取avi电影

来源:华佗小知识
用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

(1)matlab中,可以调aviinfo函数,获取avi文件的属性信息,调用格式为:

info=aviinfo('…\\...\\filiname.avi')

(2)aviread :Read Audio/Video Interleaved (AVI) file

mov = aviread(filename)

mov = aviread(filename, index) %可以按如下方式使用

for index=n:m % Reads from frame m to frame n,n,m应该在1-size(mov,2)范围内

mov(index)=aviread(mov,index);

end

只能读取未压缩的avi文件(因为avi格式是N多视频格式的统称)

注:如果avi文件为压缩形式的则可以采用第三方软件将其进行格式转换

(3)Windows Platform下最方便的是用mmreader函数(其支持多种格式,详见help)然后用read函数读取(但这个函数貌似高级的版本才有)

mov = mmreader(filename);

注:mov是一个结构体数组,size(mov)返回avi文件的帧数

Mov有两个属性——cdata 和colormap.(help aviread)

mov(i).cdata 为第i帧图像的数据形式,采用image(mov(i).cdata)可以以图的方式显示第i帧图像。

(4) 播放视频文件

Movie(mov) % mov变量为aviread\\mmreader的返回结果

(5)存储帧图片

fnum=size(mov,2); % 读取电影的祯数mov为1*temp

for i=1:fnum

strtemp=strcat( filepath, int2str(i),'.',format); %将每祯转成format格式的图片存储在指定路径

imwrite(mov(i).cdata(:,:,:),mov(i).colormap,strtemp));

end

clear;clc;

tic

p=imread('lena100.bmp');

[rsize,csize]=size(p);

r=10;

kernelbase = zeros(2*r+1,2*r+1,1,1);

phibase = zeros(1,10);

for i=1:rsize-2*r

for j=1:csize-2*r

c1(j)= j;

c2(j)= j+2*r;

r1(i)= i;

r2(i)= i+2*r;

kernelbase(:,:,i,j)= p(r1(i):r2(i), c1(i):c2(i));

%[order1,repetition1,phibase(:,:,i,j)] = PCET_func(kernelbase(:,:,i,j),2);

[order1,repetition1,phibase(:,:,i,j)] = zernike(kernelbase(:,:,i,j),3);

end

end

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务