if __name__ == '__main__':
import cv2
#对视频设置的编码解码的方式MPEG-4编码
fource=cv2.VideoWriter_fourcc(*'DIVX')
#采用摄像头采集图像
video=cv2.VideoCapture(0)#如果笔记本有多个摄像头,可设置填入1,2
#保存的位置,以及编码解码方式,帧率,视频帧大小
resulte=cv2.VideoWriter('kkyyk.mp4',fource,20.0,(640,480))
#判断是否创建视频流
while video.isOpened():
#将每一张图像保存到变量中
ret,frame=video.read()
#判断是否从对象中读取到了变量
if ret is True:
#将每一帧图像写入到视频中
resulte.write(frame)
#反转图像,因为摄像机出来的图片与自己位置相反
frame = cv2.flip(frame, 1)
#展示视频
cv2.imshow('video', frame)
#cv2.waitKey(25)
#按q键结束
if cv2.waitKey(1)==ord('q'):
break
else:
break
#释放并关闭窗口
video.release()
resulte.release()
cv2.destroyAllWindows()
视频的编解码方式有:
'''cv2.VideoWriter_fourcc('M', 'P', '4', '2') MPEG-4.2编码 .mp4 可指定结果视频的大小 cv2.VideoWriter_fourcc('X','2','6','4') MPEG-4编码 .mp4 可指定结果视频的大小 cv2.VideoWriter_fourcc('I', '4', '2', '0') 该参数是YUV编码类型,文件名后缀为.avi 广泛兼容,但会产生大文件 cv2.VideoWriter_fourcc('P', 'I', 'M', 'I') 该参数是MPEG-1编码类型,文件名后缀为.avi cv2.VideoWriter_fourcc('X', 'V', 'I', 'D') 该参数是MPEG-4编码类型,文件名后缀为.avi,可指定结果视频的大小 cv2.VideoWriter_fourcc('T', 'H', 'E', 'O') 该参数是Ogg Vorbis,文件名后缀为.ogv cv2.VideoWriter_fourcc('F', 'L', 'V', '1') 该参数是Flash视频,文件名后缀为.flv '''