opencv裁剪视频区域

import cv2

打开视频文件

video_path = 'input.mp4'

cap = cv2.VideoCapture(video_path)

获取视频的帧率、宽度和高度

fps = int(cap.get(cv2.CAP_PROP_FPS))

width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))

height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

定义裁剪区域 (x, y, w, h)

x, y, w, h = 100, 100, 400, 300 # 你可以根据需要调整这些值

创建视频写入对象

output_path = 'output.mp4'

fourcc = cv2.VideoWriter_fourcc(*'mp4v') # 编码器

out = cv2.VideoWriter(output_path, fourcc, fps, (w, h))

while cap.isOpened():

ret, frame = cap.read()

if not ret:

break

裁剪帧

cropped_frame = frame[y:y+h, x:x+w]

写入裁剪后的帧到输出视频

out.write(cropped_frame)

显示裁剪后的帧(可选)

cv2.imshow('Cropped Frame', cropped_frame)

if cv2.waitKey(1) & 0xFF == ord('q'):

break

释放资源

cap.release()

out.release()

cv2.destroyAllWindows()

print(f"裁剪后的视频已保存到 {output_path}")

裁剪用opencv比较方便,因为opencv可视化 比较方便 ,

相关推荐
z小猫不吃鱼6 小时前
06 ViT 为什么需要大规模数据?从归纳偏置理解 ViT 的训练特点
深度学习·计算机视觉·cnn
坏孩子的诺亚方舟6 小时前
open_prj26_基础图像处理
图像处理·计算机视觉·mpsco
xinxiangwangzhi_7 小时前
立体匹配--GGEV(2025)
人工智能·计算机视觉
wj3055853788 小时前
课程 6:图生视频首次运行流程
人工智能·音视频
runafterhit8 小时前
显示调研专题-OLED 终端市场分析报告
音视频
天上路人8 小时前
A-59F所有应用模式说明
人工智能·硬件架构·音视频·语音识别·实时音视频
日光明媚10 小时前
TensorRT-LLM 中对 wan 加速流程与方法
人工智能·python·计算机视觉·stable diffusion·aigc
爱炸薯条的小朋友11 小时前
全局锁的性能优势,以及链路优化为何常常低于预期——基于 `MatPoolsTest` 中小图池与大图池的实战复盘
opencv·算法·c#
Likeadust11 小时前
企业级融媒体生产管理平台/智能会议管理系统EasyDSS构建一体化应急视频指挥体系
音视频·媒体
cjie22111 小时前
图像缩放因子的计算
计算机视觉·fpga开发