Not enough memory for splitting video into frames

1 view (last 30 days)
I want to split a video clip into frames. The clip I used has 2040 frames, and when I run the code to split video into frames it gives an error saying there isn't enough memory for 2040 frames. Can anyone please tell me what the problem is? Has it got anything to do with the computer's RAM? I have 2GB

Accepted Answer

Walter Roberson
Walter Roberson on 25 Jan 2014
Yes, the problem is likely the RAM. What is the height and width of each frame? Is the frame color or greyscale ? Is the datatype uint8 (values in the range 0 to 255) or double (values in the range 0 to 1) ?
  4 Comments
Sneheet
Sneheet on 27 Jan 2014
Once I've separated the frames, I want to find the difference between 2 consecutive frames. If the difference is below a threshold,then discard the previous frame. Else save the frames, then convert them into a single video.
My aim is to remove those frames which do not contain any motion. What do you suggest?
Image Analyst
Image Analyst on 27 Jan 2014
I suggest you look at my answer. Evidently you did not because it does the differencing you're asking for, and it would be an easy addition to keep track of what frame has little motion detected and to not write those out.

Sign in to comment.

More Answers (2)

vijay sai
vijay sai on 26 Jan 2014
yes, as walter said the problem is with RAM, u could process the same by resizing the video to a reduced resolution....

Image Analyst
Image Analyst on 26 Jan 2014
See my demo. It does that. No memory problem because it only reads in and processes one frame at a time.
  1 Comment
Sneheet
Sneheet on 30 Jan 2014
ok Image Analyst, I saw your code. It works. Thanks. Now I need to read 2 consecutive frames in a loop. How do I do that? I mean how do I refer to those frames in the loop?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!