不说那么多了,直接上代码;
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()