VideoWriter_fourcc的参数详细介绍 及代码展示
时间: 2024-06-10 09:06:02 浏览: 19
VideoWriter_fourcc函数是用于设置视频编解码器的参数。在OpenCV中,它的语法如下:
```
VideoWriter_fourcc('M','J','P','G')
```
其中,'M','J','P','G'是四个字符,代表了视频编解码器,这里使用的是MJPEG编解码器。另外一些常见的编解码器包括:
- 'XVID' - XVID编解码器
- 'X264' - H264编解码器
- 'MP4V' - MPEG-4编解码器
代码示例:
```
import cv2
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 25.0, (640,480))
```
在这个示例中,视频编解码器被设置为XVID,帧速率为25帧每秒,输出视频的分辨率为640x480。这个例子创建了一个名为output.avi的视频文件,可以将视频帧写入其中。
相关问题
cv2.VideoWriter_fourcc参数
cv2.VideoWriter_fourcc是OpenCV中用于设置视频编解码器的函数,它的作用是将视频编码器的四个字符代码转换为整数值。这个函数的参数是四个字符代码,用于指定视频编解码器的类型。例如,如果你想使用MPEG-4编解码器,你可以使用参数'XVID'或者'FMP4'。如果你想使用H.264编解码器,你可以使用参数'AVC1'或者'H264'。这个函数的返回值是一个整数值,用于指定视频编解码器的类型。在使用cv2.VideoWriter函数时,需要将这个整数值作为参数传递给fourcc参数。
下面是一个示例代码,用于将一系列图像保存为视频文件:
```python
import cv2
# 设置视频编解码器为MPEG-4
fourcc = cv2.VideoWriter_fourcc(*'XVID')
# 创建一个VideoWriter对象
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))
# 读取一系列图像并将它们写入视频文件
for i in range(10):
img = cv2.imread('image{}.jpg'.format(i))
out.write(img)
# 释放VideoWriter对象
out.release()
```
cv2.VideoWriter_fourcc的用法
`cv2.VideoWriter_fourcc` 是 OpenCV 库中用于创建视频编码器的函数。它的作用是将视频编码器的名称转换成一个四字符代码(FourCC code),这个代码是用于指定视频编码格式的。
函数原型如下:
```python
cv2.VideoWriter_fourcc(c1, c2, c3, c4)
```
参数 `c1`、`c2`、`c3` 和 `c4` 分别表示四个字符,用于指定视频编码器的名称。常见的视频编码器及其对应的四字符代码如下:
- MJPG:`cv2.VideoWriter_fourcc('M', 'J', 'P', 'G')`
- DIVX:`cv2.VideoWriter_fourcc('D', 'I', 'V', 'X')`
- XVID:`cv2.VideoWriter_fourcc('X', 'V', 'I', 'D')`
- H264:`cv2.VideoWriter_fourcc('H', '2', '6', '4')`
- MP4V:`cv2.VideoWriter_fourcc('M', 'P', '4', 'V')`
返回值是一个整型的四字符代码。
例如,使用 MJPG 编码器创建一个名为 output.avi 的视频文件的代码如下:
```python
import cv2
# 打开摄像头
cap = cv2.VideoCapture(0)
# 设置输出参数
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))
while True:
ret, frame = cap.read()
if not ret:
break
# 处理每一帧
frame = cv2.flip(frame, 1)
# 写入视频文件
out.write(frame)
# 显示每一帧
cv2.imshow('frame', frame)
if cv2.waitKey(1) == ord('q'):
break
# 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
```
其中,`fourcc` 参数的值是 `cv2.VideoWriter_fourcc(*'MJPG')`,表示把 `'MJPG'` 这个字符串转换成四字符代码。