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