how to convert video in to image frames using matlab?
106 次查看(过去 30 天)
显示 更早的评论
how to convert video in to image frames using matlab?
5 个评论
Walter Roberson
2019-4-11
H.264 is generally adaptive to determine GOP structure.
That said, there is also choice in the matter. For some purposes, the exact structure can be important and GOP that follow a fixed pattern can be generated. There are tradeoffs to be made for bitrate considerations (how fast does your media read information?); or for CPU speed considerations (slower CPUs are less expensive and might produce less heat, but require less complicated video streams); or for how quickly you can seek to arbitrary points (e.g. chapter search or user fast forward or (more difficult) reverse)
回答(3 个)
Lalit Patil
2013-1-7
vid=mmreader('video.avi');
numFrames = vid.NumberOfFrames;
n=numFrames;
for i = 1:2:n
frames = read(vid,i);
imwrite(frames,['Image' int2str(i), '.jpg']);
im(i)=image(frames);
end
14 个评论
Walter Roberson
2020-1-27
mmreader was removed sometime around 2011. You can use VideoReader to replace it in most cases.
Image Analyst
2016-3-17
Namith:
You can use the VideoReader class to set the starting time of the video, then use read() to extract a frame from the video at exactly that time. Then use imwrite() to save it to disk. Attached is a demo that does something similar (but not exactly what you want). The demo writes out every single frame to files. You just need to set the time with the method for doing that before you extract the frame.
7 个评论
Randall Ang
2021-5-10
Hi, I tried using the demo that you provided, and it worked well. However, is there a way to ensure that the aspect ratio of the images remain the same as the video?
Image Analyst
2021-5-10
If you say
axis('image');
after you display an image, it will show it pixel-for-pixel and the aspect ratio will be the same.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!