python cv提取视频每一帧处理平保存成视频
时间: 2024-09-21 16:07:38 浏览: 46
在Python中,可以使用OpenCV库(cv2模块)来从视频中逐帧提取并处理,最后将处理后的帧保存成新的视频。以下是一个简单的步骤示例:
```python
import cv2
# 读取视频
video_path = 'input_video.mp4'
cap = cv2.VideoCapture(video_path)
# 检查是否成功打开
if not cap.isOpened():
print('Error opening video file')
# 获取视频的基本信息
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
fps = cap.get(cv2.CAP_PROP_FPS)
# 创建一个新的VideoWriter对象,指定目标视频的保存路径、帧率和尺寸
output_video = cv2.VideoWriter('output_video.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, (frame_width, frame_height))
while True:
ret, frame = cap.read() # 读取一帧
if not ret:
break # 结束条件:到达视频结尾或读取失败
# 这里是对帧进行处理的部分,例如灰度化、滤波、裁剪等
processed_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 灰度转换示例
# 写入处理后的帧到新视频
output_video.write(processed_frame)
# 释放资源
cap.release()
output_video.release()
print('Frames extracted and saved successfully')
```
在这个例子中,你需要替换`processed_frame`部分为你的实际处理代码。`cv2.cvtColor()`函数仅做了一个颜色空间转换示例。
阅读全文