【Matlab】修改视频尺寸

该MATLAB代码实现了视频分辨率转换功能,将输入视频重新采样至2160×3840分辨率。程序首先读取原始视频信息,创建新的MPEG-4格式输出文件。通过循环逐帧处理:读取每帧图像后使用imresize函数调整分辨率,并写入新视频文件。处理过程中显示进度条,完成后关闭视频文件和进度条。该代码适用于需要批量转换视频分辨率的场景,保持原始帧率不变。

matlab 复制代码
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,'正在转换视频分辨率...');
for i = 1:numFrames
    frame = read(obj,i);
    newFrame = imresize(frame,[2160 3840]); 
    if mod(i,numFrames/100) == 0
        waitbar(i/numFrames,hwait);
    end
    %写视频
    writeVideo(newObj,newFrame);
end
close(newObj);
close(hwait);
相关推荐
默_笙3 小时前
🍉 我把《天龙八部》喂给了 AI,问它"段誉会什么武功?"答案让我惊呆了
前端·javascript
东风破_3 小时前
React 自定义 Hook 实战:封装鼠标坐标与副作用清理
前端
bonechips3 小时前
useRef + Web Worker:React 中的多线程计算
前端·javascript
Sterting3 小时前
第 10 节:异步请求与 Axios —— 前端与后端
前端
Coder_Ke3 小时前
源码没错,API 却“失踪”了:微信开发者工具的一次作用域背刺
前端
渣波3 小时前
从“迷路”到“瞬移”:彻底搞懂 React Router 的 `useLocation` 与 `useNavigate`
前端·javascript
申君健24864182772023 小时前
WebGPU 开发入门:从设备初始化到渲染一帧
前端
橘子星3 小时前
React Context + 自定义 Hooks:告别 Props 地狱,一行代码跨层级传数据
前端·javascript
moMo3 小时前
前端路由,其实就是三个对象在演戏
前端·react.js
用户2930750976693 小时前
React 自定义 Hooks 实战:用 useMouse 理解响应式封装
前端