该MATLAB代码实现了视频分辨率转换功能,将输入视频重新采样至2160×3840分辨率。程序首先读取原始视频信息,创建新的MPEG-4格式输出文件。通过循环逐帧处理:读取每帧图像后使用imresize函数调整分辨率,并写入新视频文件。处理过程中显示进度条,完成后关闭视频文件和进度条。该代码适用于需要批量转换视频分辨率的场景,保持原始帧率不变。
obj=VideoReader('35658336990-1-192.mp4');%原始视频numFrames=obj.NumberOfFrames;% 帧的总数%视频压缩newPath=obj.Path;newName=['UD_',obj.Name];newfps=obj.FrameRate;newObj=VideoWriter([newPath,'\',newName],'MPEG-4');%创建一个avi视频文件对象,开始时其为空newObj.FrameRate=newfps;open(newObj);hwait=waitbar(0,'正在转换视频分辨率...');fori=1:numFrames frame=read(obj,i);newFrame=imresize(frame,[21603840]);ifmod(i,numFrames/100)==0waitbar(i/numFrames,hwait);end%写视频writeVideo(newObj,newFrame);endclose(newObj);close(hwait);