介绍使用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
时间: 2024-10-20 20:59:16