用python-opencv打开摄像头,并且在一定时间在另一窗口显示截图

不说那么多了,直接上代码;


import numpy as np
import cv2
import time
from threading import Timer
from PIL import Image, ImageDraw, ImageFont

#打开本地摄像头,括号内表示设备编号,第一个设备为0,如果电脑有两个摄像头,第二个摄像头就是1
cap=cv2.VideoCapture(0)
#定义全局变量,用于进行if判断的条件
global timer_int
timer_int = 1
#定时器的时间,单位为秒
timer_interval = 1

#定时函数
def timerDelay():
    global timer_int
    timer_int = 1
    print('定时器运行')
    global t
    t = Timer(timer_interval, timerDelay)
    t.start()


t = Timer(timer_interval, timerDelay)
t.start()

while(True):
    #从摄像头中读取画面,while表示循环读取画面,也就是一张一张图片形成了一个视频
    #第一个参数ret的值为True或False,代表有没有读到图片。第二个参数frame,是当前截取一帧的图片
    ret,image=cap.read()

    #设置每一张图片的颜色
    img_color=cv2.cvtColor(image,0)

    #显示窗口
    cv2.imshow('window',img_color)

    if timer_int == 1:
        #某一时刻的图片
        img_color1 = img_color
        print('if里的条件值', timer_int)
        #跳出if,等待下一个时刻
        timer_int =  0

    #显示新窗口,用于显示某一时刻的截图
    cv2.imshow('screenshot', img_color1)
    print('if外的条件值', timer_int)

    #如果按下键盘上的Q就关闭窗口 ord()返回值是对应的十进制整数
    if cv2.waitKey(1)&0xFF==ord('q'):
        break

#释放资源
cap.release()

#关闭窗口
cv2.destroyAllWindows()

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值