cv2.VideoWriter('output.mp4', cv2.VideoWriter_fourcc(*'MP4V'), 25, (1080, 720))write()录制的视频只有1kb
时间: 2023-05-31 16:07:07 浏览: 58
可能是因为没有向 VideoWriter 写入实际的视频帧。请确保你已经成功调用了 VideoWriter 的 write() 方法,并向其中写入了视频帧数据。同时,也可以尝试更改编码器 FourCC 格式,例如使用 H.264 编码器(cv2.VideoWriter_fourcc(*'H264'))来生成 MP4 格式的视频文件。
相关问题
fourcc = cv2.VideoWriter_fourcc(*'mp4v')是什么意思
fourcc = cv2.VideoWriter_fourcc(*'mp4v')是用于设置视频编解码器的代码。其中,'mp4v'代表MPEG-4编解码器。在使用OpenCV进行视频处理时,我们需要指定视频编解码器,以便正确地读取和写入视频文件。在这里,我们使用cv2.VideoWriter_fourcc()函数来设置编解码器。该函数需要四个字符代码作为参数,用于指定编解码器类型。例如,'mp4v'代表MPEG-4编解码器,'XVID'代表Xvid编解码器。
范例:<<引用:cap = cv2.VideoCapture(0) while(True): ret, frame = cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.imshow('frame',gray) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()。引用:fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))。请问如何在OpenCV中捕获摄像头并将视频保存为.avi格式?
以下是一个在OpenCV中捕获摄像头并将视频保存为.avi格式的例子:
```python
import cv2
# 打开摄像头
cap = cv2.VideoCapture(0)
# 设置视频编解码器
fourcc = cv2.VideoWriter_fourcc(*'XVID')
# 创建VideoWriter对象
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))
while(cap.isOpened()):
# 读取摄像头数据
ret, frame = cap.read()
if ret==True:
# 将帧转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 显示图像
cv2.imshow('frame',gray)
# 将帧写入视频文件
out.write(gray)
# 按q键退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
```
outputvideo = cv2.VideoWriter(vide_save_path,cv2.VideoWriter_fourcc(*'mp4v'), 25, (width,height))
这段代码的作用是创建一个视频写入器对象,用于将处理后的视频帧写入到输出视频文件中。其中,vide_save_path是输出视频文件的路径,cv2.VideoWriter_fourcc(*'mp4v')指定了视频编码格式为MPEG-4,25表示输出视频的帧率为25帧每秒,(width,height)表示输出视频的尺寸与输入视频相同。