Python中使用OpenCV获取摄像头和播放视频

简介:

        文章中使用jupyter来编写代码


关键词解释:都是简便回答

#创建窗口
cv2.namedWindow('video',cv2.WINDOW_NORMAL)
#设置窗口的大小
cv2.resizeWindow('video',900,600)
#获取摄像头
cap =  cv2.VideoCapture(0)
#将视频进行每秒钟在显示多少张
cv2.waitKey()
#显示数据
cv2.imshow('video',frame)
#释放资源
cap.release()
#结束窗口
cv2.destroyAllWindows()
    

1、获取摄像头代码展示

#视频本质上就是一幅一幅图片组成的

import cv2
#创建窗口
cv2.namedWindow('video',cv2.WINDOW_NORMAL)
#设置窗口的大小
cv2.resizeWindow('video',900,600)

#获取摄像头
cap =  cv2.VideoCapture(0)

#循环读取摄像头每一帧
while True:
    ret,frame = cap.read()
    #ret做判断
    if not ret:
        break
    #显示数据
    cv2.imshow('video',frame)

    key = cv2.waitKey(10)

    if key ==ord('q'):
        break
  #释放资源
cap.release()
#结束窗口
cv2.destroyAllWindows()
    

        运行后展示,这里有点暴露就不完全展示了

2、读取视频并播放,几乎和摄像头代码完全一致,就是将

cap =  cv2.VideoCapture('./123.mp4')里面的0更换成视频文件

# 视频本质上就是一幅一幅图片组成的

import cv2
#创建窗口
cv2.namedWindow('video',cv2.WINDOW_NORMAL)
#设置窗口的大小
cv2.resizeWindow('video',900,600)

#读取视频
cap =  cv2.VideoCapture('./123.mp4')

#循环读取摄像头每一帧
while True:
    ret,frame = cap.read()
    #ret做判断
    if not ret:
        break
    #显示数据
    cv2.imshow('video',frame)
    #这里是将视频切成一张张的图片来进行给我们展示
    #这里计算规则,不然视频会加速播放,或者很慢
    #如果视频是30帧率那就是1000//30就是正常播放的速度
    key = cv2.waitKey(1000//30)

    if key ==ord('q'):
        break
  #释放资源
cap.release()
#结束窗口
cv2.destroyAllWindows()
    

    

展示效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值