Importing large .avi files into MATLAB

조회 수: 7 (최근 30일)
Jason
Jason 2011년 12월 2일
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
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
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
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
Jason
Jason 2011년 12월 7일
Thank you for your response.
VideoReader does not work for my version of MATLAB but mmreader will.
The problem I am still getting is that eventually I run out of memory.
Is there a way where you can read in one frame at a time, show that frame, then ask MATLAB to read in the next frame and replace the previous frame, thus making a movie this way?
Thank you
Jason
Andreas Goser
Andreas Goser 2011년 12월 7일
We're talking about a 64 Bit system, right?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile 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!

Translated by