opencv python resize视频流并保存
时间: 2023-06-18 17:02:39 浏览: 179
你可以使用OpenCV的Python库来处理视频流并进行大小调整和保存。以下是一个示例代码,它可以读取一个视频文件,调整大小并将其保存为新的视频文件:
```python
import cv2
# 打开视频文件
cap = cv2.VideoCapture('video.mp4')
# 获取视频流的宽度和高度
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 创建一个 VideoWriter 对象,用于保存调整大小后的视频流
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter('output.mp4', fourcc, 30.0, (int(width/2), int(height/2)))
while(cap.isOpened()):
# 读取视频帧
ret, frame = cap.read()
if ret == True:
# 调整大小
resized_frame = cv2.resize(frame, (int(width/2), int(height/2)))
# 写入调整大小后的视频帧
out.write(resized_frame)
# 显示视频帧
cv2.imshow('frame', resized_frame)
# 按下 q 键退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
```
在这个例子中,我们使用 `cv2.VideoCapture` 打开一个视频文件,获取视频流的宽度和高度,然后创建一个 `cv2.VideoWriter` 对象来保存调整大小后的视频流。我们使用 `cv2.resize` 函数来调整视频帧的大小,并将调整大小后的帧写入输出视频文件中。
最后,我们使用 `cv2.imshow` 函数来显示每个调整大小后的帧,并使用 `cv2.waitKey` 函数来等待用户按下 `q` 键以退出程序。最后,我们释放所有资源并关闭所有窗口。
阅读全文