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