cv2.VideoWriter write
时间: 2023-07-24 22:16:09 浏览: 166
cv2.VideoWriter.write()是OpenCV中的一个函数,用于将帧写入视频文件。它需要两个参数:要写入的帧和一个布尔值,指示是否将帧编码为视频流。如果将帧编码为视频流,则该函数返回True,否则返回False。
示例代码:
```
import cv2
# 打开视频文件
cap = cv2.VideoCapture('input_video.mp4')
# 获取视频帧率和分辨率
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))
# 创建一个视频编写器
out = cv2.VideoWriter('output_video.mp4', cv2.VideoWriter_fourcc(*'mp4v'), fps, (width, height))
# 读取并写入每一帧
while True:
ret, frame = cap.read()
if not ret:
break
out.write(frame)
# 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
```
这段代码打开一个输入视频文件,获取视频帧率和分辨率,创建一个视频编写器,并在循环中读取和写入每一帧。最后,释放所有资源。
相关问题
cv2.VideoWriter('output.mp4', cv2.VideoWriter_fourcc(*'MP4V'), 25, (1080, 720))write()录制的视频只有1kb
可能是因为没有向 VideoWriter 写入实际的视频帧。请确保你已经成功调用了 VideoWriter 的 write() 方法,并向其中写入了视频帧数据。同时,也可以尝试更改编码器 FourCC 格式,例如使用 H.264 编码器(cv2.VideoWriter_fourcc(*'H264'))来生成 MP4 格式的视频文件。
fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
This code sets up a VideoWriter object to write video frames to a file named "output.avi" with the XVID codec, a frame rate of 20 frames per second, and a resolution of 640x480 pixels. The asterisk before 'XVID' is used to unpack the string into individual characters, as expected by the VideoWriter_fourcc function.
阅读全文