1
這是用於讀取視頻的幫助教程:什麼是在MATLAB上處理視頻的最有效的內存方式?
xyloObj = VideoReader('xylophone.mpg');
nFrames = xyloObj.NumberOfFrames;
vidHeight = xyloObj.Height;
vidWidth = xyloObj.Width;
% Preallocate movie structure.
mov(1:nFrames) = ...
struct('cdata', zeros(vidHeight, vidWidth, 3, 'uint8'),...
'colormap', []);
% Read one frame at a time.
for k = 1 : nFrames
mov(k).cdata = read(xyloObj, k);
end
% Play back the movie once at the video's frame rate.
movie(mov, 1, xyloObj.FrameRate);
但是我想處理一個巨大的視頻,如果我嘗試上面的代碼我的電腦運行的內存。我曾經想過讀取一些幀,處理它們,讀取更多的內容,處理,直到所有的幀都被處理完畢(當然,隨着代碼的執行刪除舊幀,以保持低級別的內存消耗),但是我我不確定這是最好的方法,因爲我從來沒有用MATLAB處理視頻。
這種情況是否有最佳做法?我錯過了什麼?
謝謝!
類似的問題:[如何在Matlab中用for循環處理大視頻並且沒有內存錯誤](http://stackoverflow.com/q/11718704/97160) – Amro 2013-05-02 22:37:08