Importing large .avi files into MATLAB
6 次查看(过去 30 天)
显示 更早的评论
I am struggling to get a video imported into MATLAB with the error that "ran out of memory"
The video is just over 2000 frames and just over 1GB in size.
I have tried avireader and mmreader at no avail.
Can I import a large video into MATLAB frame-by-frame
2 个评论
Doug Hull
2011-12-2
Edited to simplify question. Each question should be a single question. Ask another question for the other aspects.
Jason Ross
2011-12-2
Also, details of the hardware (specifically the amount of RAM) and OS bit-ness (32 or 64 bit) would be helpful.
回答(1 个)
Image Analyst
2011-12-2
You should be able to using the VideoReader class. Here's the example from the help:
Examples
Construct a VideoReader object for the demo movie file xylophone.mpg and view its properties:
xyloObj = VideoReader('xylophone.mpg', 'Tag', 'My reader object');
get(xyloObj)
Read and play back the movie file xylophone.mpg:
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
% Size a figure based on the video's width and height.
hf = figure;
set(hf, 'position', [150 150 vidWidth vidHeight])
% Play back the movie once at the video's frame rate.
movie(hf, mov, 1, xyloObj.FrameRate);
2 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Large Files and Big Data 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!