在 MATLAB 中获取视频帧数的最快方法是什么?
What's the fastest way to get a video frame count in MATLAB?
使用此代码翻阅 1423 帧(192X1080 分辨率)的视频耗时 63 秒:
vidObj = VideoReader(videoname);
nFrames = 0;
while hasFrame(vidObj)
readFrame(vidObj);
nFrames = nFrames + 1;
end
加载同一视频仅需 4 秒即可返回帧数。
如何加快视频帧计数?
您所要做的就是从 VideoReader
对象中获取 NumberOfFrames
property:
vidObj = VideoReader(videoname);
nFrames = vidObj.NumberOfFrames;
使用此代码翻阅 1423 帧(192X1080 分辨率)的视频耗时 63 秒:
vidObj = VideoReader(videoname);
nFrames = 0;
while hasFrame(vidObj)
readFrame(vidObj);
nFrames = nFrames + 1;
end
加载同一视频仅需 4 秒即可返回帧数。
如何加快视频帧计数?
您所要做的就是从 VideoReader
对象中获取 NumberOfFrames
property:
vidObj = VideoReader(videoname);
nFrames = vidObj.NumberOfFrames;