
在MATLAB2014中使用VideoReader提取视频的每一帧中的cdata如何定义
我的程序是这样的mov=VideoReader('e:\app.avi');%读入Vframes=size(mov,2);%读取视频的帧数,mov为1*1179struc...
我的程序是这样的
mov=VideoReader('e:\app.avi'); %读入
Vframes=size(mov,2); %读取视频的帧数,mov 为1*1179 struct,struct就是第4点所介绍的
for i=1: Vframes
strtemp=strcat('d:\转换的图片\',int2str(i),'.','jpg'); %将每帧转成.jpg 的图片
imwrite(mov(i).cdata(:,:,:), mov(i).colormap, strtemp); % 把图像写入磁盘
end
然后运行就会报错
类 VideoReader 没有适当的方法、属性或字段 cdata。
我看其他都说是cdata没有定义,这个怎么办?程序是否有问题? 展开
mov=VideoReader('e:\app.avi'); %读入
Vframes=size(mov,2); %读取视频的帧数,mov 为1*1179 struct,struct就是第4点所介绍的
for i=1: Vframes
strtemp=strcat('d:\转换的图片\',int2str(i),'.','jpg'); %将每帧转成.jpg 的图片
imwrite(mov(i).cdata(:,:,:), mov(i).colormap, strtemp); % 把图像写入磁盘
end
然后运行就会报错
类 VideoReader 没有适当的方法、属性或字段 cdata。
我看其他都说是cdata没有定义,这个怎么办?程序是否有问题? 展开
展开全部
fileName = 'e:\app.avi';
obj = VideoReader(fileName);
numFrames = obj.NumberOfFrames;% 读取视频的帧数
for i = 1 : numFrames
frame = read(obj,i);% 读取每一帧
imshow(frame);%显示每一帧
imwrite(frame,strcat(num2str(i),'.jpg'),'jpg');% 保存每一帧
end
obj = VideoReader(fileName);
numFrames = obj.NumberOfFrames;% 读取视频的帧数
for i = 1 : numFrames
frame = read(obj,i);% 读取每一帧
imshow(frame);%显示每一帧
imwrite(frame,strcat(num2str(i),'.jpg'),'jpg');% 保存每一帧
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询