matlab读取视频、保存视频、matlab查看进度。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a6333230/article/details/85720261

读取视频、保存视频、生成进度条

fileName = '我的视频.mp4'; %读取视频的名字
makeName = '生成视频.avi';%表示将要生成视频的名字

%判断视频存在则删掉,否则会出错
if(exist('videoName','file'))
    delete videoName.avi
end

obj = VideoReader(fileName);%将视频读取到obj中
numFrames = obj.NumberOfFrames;%视频 帧的总数

makeobj=VideoWriter(makeName);  %创建一个空的avi视频文件对象
makeobj.FrameRate=30;%设置视频为1秒30帧
open(makeobj);%打开空视频,准备写入

h=waitbar(0,'please wait');%生成进度条(进度条)

 for k = 1 : numFrames% 读取数据
     frame = read(obj,k);
     frame = meXX(frame,AA);%%这里可以引入自己的函数,对每一帧进行处理
%      imshow(frame);%显示帧
%      title(k);
     writeVideo(makeobj,frame);%写数据
     waitbar(k/numFrames,h)%进度条按照for的每一步滚动
%      imwrite(frame,strcat(num2str(k),'.jpg'),'jpg');% 保存帧
 end
 
delete(h);%删除进度条变量
close(aviobj);% 关闭创建视频,没有关闭视频无法保存

说明一下进度条
一般for循环主要占用时间,因为把进度条加入for循环中可以有效表达函数的进度。

猜你喜欢

转载自blog.csdn.net/a6333230/article/details/85720261