python读取调用摄像头并将读取视频写入视频文件

部分情况下,我们利用python调取摄像头后,想要把录制的视频读入文件中保存起来,那么应该怎么做呢,具体请看代码:

import cv2
import os



cap = cv2.VideoCapture(0) #此处调用摄像头,默认调用编码为零的摄像头
flag,img= cap.read()

out_pic_src = '...../../b.avi'#定义文件路径及文件名
x = 640
y = 480
frame = np.zeros((x,y))#定义帧高及帧宽。
fourcc = cv2.VideoWriter_fourcc(*"XVID") #定义视频解码器
out = cv2.VideoWriter(out_pic_src, fourcc, 18.0, np.shape(frame))

#定义输入流,18.0代表视频播放速率,最后一个参数表示写入帧的大小。

#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')/(*'XVID'),该参数是MPEG-4编码类型,文件名后缀为.avi 
#cv2.VideoWriter_fourcc('T', 'H', 'E', 'O'),该参数是Ogg Vorbis,文件名后缀为.ogv 
#cv2.VideoWriter_fourcc('F', 'L', 'V', '1'),该参数是Flash视频,文件名后缀为.flv


if flag is not True:
    print('camera error')
while True:
    flag,img= cap.read()
    
    img = cv2.resize(img,(x,y))#一定要记得对获取帧进行尺寸变换,等于定义的写入帧的尺寸
    out.write(img)
    cv2.imshow('video',img)
     
    if cv2.waitKey(33) == 27:
            break
cv2.destroyAllWindows() 


      
    

这样我们就实现了对实时视频的写入。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值