import cv2
cap = cv2.VideoCapture(0) #获取摄像头设备或打开摄像头
if cap.isOpened(): #判断摄像头是否已经打开,若打开则进入循环
while True: #无无限循环
ret, frame = cap.read() #cap返回两个值,所以要用两个变量接收,即使ret获取视频播放状态,
#frame获取视频的一帧,即使ret不需要用也要接收,不然cap返回两
#个值却用一个变量接收程序就会报错,根据python的语法,ret接收
#第一个返回的值,frame接收第二个返回的值
cv2.imshow('frame', frame) #显示图片,显示视频是通过连续显示一张张图片来实现的
if cv2.waitKey(1) & 0xff == ord('q'): #如果在循环中按下键盘的q键
cv2.imwrite(r'img.png', frame) #将最后一帧写入当前工程文件的目录下,名
#为'img.png',然后退出循环
break
cap.release() #释放资源,即销毁进程
cv2.destroyAllWindows() #销毁所有窗口