Matlab 處理avi視頻文件為單幀任意大小圖片
主要是imresize()這個函數的用法。
上代碼:
clc;
clear;
video=mmreader('D:\videotest\Video 1.avi');
nFrames = video.NumberOfFrames; %得到幀數
H = video.Height; %得到高度
W = video.Width; %得到寬度
Rate = video.FrameRate;
% Preallocate movie structure.
mov(1:nFrames) = struct('cdata',zeros(H,W,3,'uint8'),'colormap',[]);
%獲取每一幀
for i = 1:nFrames
mov(i).cdata = read(video,i);
P = mov(i).cdata;
%imresize() []中格式要求:[高 寬]
Q = imresize(P,[720 960]);
disp('當前播幀數:'),disp(i);
imshow(P),title('原始圖片');%顯示原始圖片
if i<10
imwrite(Q,strcat('0000',int2str(i),'.jpg'),'jpg');%寫入文件中
else if i>=10 & i<100
imwrite(Q,strcat('000',int2str(i),'.jpg'),'jpg');
else
imwrite(Q,strcat('00',int2str(i),'.jpg'),'jpg');
end
end
end
Ubuntu Server上安裝Matlab http://www.linuxidc.com/Linux/2014-09/106242.htm
Matlab與C/C++聯合編程之從Matlab調用C/C++代碼 http://www.linuxidc.com/Linux/2012-08/68148.htm
二分類SVM方法Matlab實現 http://www.linuxidc.com/Linux/2013-05/84050.htm
Matlab中的取整函數fix, floor, ceil與round http://www.linuxidc.com/Linux/2013-10/91161.htm
Matlab編譯cuda的.cu文件 http://www.linuxidc.com/Linux/2014-04/100675.htm
Linux Matlab服務器進一步改造成Application Server(應用程序服務器) http://www.linuxidc.com/Linux/2014-09/106340.htm