python-opencv读取保存视频
时间: 2023-09-24 21:12:07 浏览: 65
你可以使用Python中的OpenCV库来读取和保存视频。下面是一个简单的示例代码:
```python
import cv2
# 打开视频文件
video = cv2.VideoCapture('input.mp4')
# 检查视频是否成功打开
if not video.isOpened():
print('无法打开视频文件')
exit()
# 获取视频的帧率和尺寸
fps = video.get(cv2.CAP_PROP_FPS)
width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 创建视频编码器并设置参数
fourcc = cv2.VideoWriter_fourcc(*'XVID')
output = cv2.VideoWriter('output.avi', fourcc, fps, (width, height))
while True:
# 读取视频的帧
ret, frame = video.read()
# 检查是否成功读取帧
if not ret:
break
# 在帧上进行一些操作(例如,将帧转换为灰度图像)
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 显示帧
cv2.imshow('Video', gray_frame)
# 保存帧到输出视频文件
output.write(frame)
# 按下 'q' 键退出循环
if cv2.waitKey(1) == ord('q'):
break
# 释放资源
video.release()
output.release()
cv2.destroyAllWindows()
```
在上面的代码中,我们首先使用`cv2.VideoCapture`打开输入视频文件。然后,我们获取视频的帧率和尺寸,并创建一个`cv2.VideoWriter`对象来保存输出视频文件。接下来,我们在一个循环中读取视频的帧,对帧进行操作(例如,将其转换为灰度图像),并将帧保存到输出视频文件中。最后,我们按下 'q' 键退出循环,并释放所有的资源。
请注意,上述代码只是一个简单的示例,你可以根据自己的需要进行更多的操作和调整。