matlab读写图片,读取图像序列,读取AVI视频

介绍使用matlab读写图片,读取图像序列,读取AVI视频的方法:

一、读写图像

使用matlab读一幅图像,并另存

1 %  Filename: ImageReadWrite
2 clc;
3 clear;
4 i = imread('D:\\aa3.bmp');%打开D:\\aa3.bmp图像
5 imshow(i);                %显示图像
6 imwrite(i, 'D:\\aa4.jpg');%将图像另存为D:\\aa4.jpg

使用matlab读写还可以进行图片格式转换,将jpg图像转换成256色灰度图像:

1 % Filename:RGBtoGrayImage
2 i = imread('D:\\1.jpg');%读RGB图像
3 j = rgb2gray(i);        %RGB图像转灰度图像
4 imshow(j);
5 imwrite(j, 'D:\\1.bmp') %另存时选bmp格式

二、读取图像序列

使用matlab读取图像序列,并显示

 1 % Filename:ImageSequence
 2 clc
 3 clear
 4 dList=dir('D:\\ImageSequence\\*.JPG'); 
 5 N=length(dList); %Number of Images
 6 for i=1:N
 7     Image_data{i}=imread(['D:\\ImageSequence\\',dList(i).name]); 
 8     imshow(Image_data{i});
 9     pause(0.0);
10     drawnow;
11 end

三、读AVI格式的视频

 1 % Filename:VideoRead
 2 clc;
 3 clear;
 4 video = mmreader('D:\\VideoTest.avi');
 5 nFrames = video.NumberOfFrames;   %得到帧数
 6 H = video.Height;     %得到高度
 7 W = video.Width;      %得到宽度
 8 Rate = video.FrameRate;
 9 % Preallocate movie structure.
10 mov(1:nFrames) = struct('cdata',zeros(H,W,3,'uint8'),'colormap',[]);
11 %read one frame every time
12 for i = 1:nFrames
13     mov(i).cdata = read(video,i);
14     P = mov(i).cdata;
15      disp('当前播帧数:'),disp(i);
16      imshow(P),title('视频');
17 end

 

posted @ 2015-11-23 09:34  moon1992  阅读(7451)  评论(1编辑  收藏  举报