介绍使用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

 

版权声明:本文为moon1992原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/moon1992/p/4987456.html