如何利用opencv调用摄像头并录制视频保存

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
'''

你可能感兴趣的:(Opencv图像处理,python,opencv)