Matlab
% 输入和输出文件名
inputVideoFile = 'input_video.mp4';
outputVideoFile = 'output_video.mp4';
% 创建 VideoReader 和 VideoWriter 对象
videoReader = VideoReader(inputVideoFile);
outputVideo = VideoWriter(outputVideoFile, 'MPEG-4');
outputVideo.FrameRate = videoReader.FrameRate;
open(outputVideo);
% 显示第一帧并选择感兴趣区域
firstFrame = readFrame(videoReader);
imshow(firstFrame);
roi = imrect; % 使用交互式工具选择感兴趣区域
position = getPosition(roi); % 获取所选区域的坐标 [x, y, width, height]
% 循环处理每一帧
while hasFrame(videoReader)
frame = readFrame(videoReader);
% 裁剪帧
croppedFrame = imcrop(frame, position);
% 将裁剪后的帧写入新的视频对象
writeVideo(outputVideo, croppedFrame);
end
% 关闭新的视频对象
close(outputVideo);
% 关闭感兴趣区域交互式工具窗口
delete(roi);
把待剪辑的视频传入变量inputVideoFile,等程序运行到展示视频第一帧图片,用鼠标框选ROI,之后会自动保存每一帧只有ROI区域的视频于"output_video.mp4"中。