如何通过matlab把AVI格式的视频提取出随意的一帧,并保存为图像,希望能给出完整的代码! 200
2个回答
展开全部
可这样:
vidObj = VideoReader('xy.avi');
vidHeight = vidObj.Height;
vidWidth = vidObj.Width;
s = struct('cdata',zeros(vidHeight,vidWidth,3,'uint8'),...
'colormap',[]);
k = 1;
while hasFrame(vidObj)
s(k).cdata = readFrame(vidObj);
k = k+1;
end
image(s(5).cdata) %显示第5帧的图像。
imwrite(s(5).cdata,'myims5.jpg') %保存为文件
vidObj = VideoReader('xy.avi');
vidHeight = vidObj.Height;
vidWidth = vidObj.Width;
s = struct('cdata',zeros(vidHeight,vidWidth,3,'uint8'),...
'colormap',[]);
k = 1;
while hasFrame(vidObj)
s(k).cdata = readFrame(vidObj);
k = k+1;
end
image(s(5).cdata) %显示第5帧的图像。
imwrite(s(5).cdata,'myims5.jpg') %保存为文件
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询