为了节约资源,通常需要将高分辨率的视频转为够用的低分辨率,直接上代码
视频转换为240*320大小
obj = VideoReader('vvvv.avi');%原始视频
numFrames = obj.NumberOfFrames;% 帧的总数
%视频压缩
newPath = obj.Path;
newName = ['size240x320',obj.Name];
newfps = obj.FrameRate;
newObj=VideoWriter([newPath,'\',newName]); %创建一个avi视频文件对象,开始时其为空
newObj.FrameRate=newfps;
open(newObj);
hwait=waitbar(0,'正在转换视频分辨率...');
for i = 1:numFrames
frame = read(obj,i);
newFrame = imresize(frame,[240 320]);
if mod(i,numFrames/100) == 0
waitbar(i/numFrames,hwait);
end
%写视频
writeVideo(newObj,newFrame);
end
close(newObj);
close(hwait);