本节课进行摄像头内容读取,详细注解在代码中。
# 视频本质上是由一幅幅图片组成
# 例如24帧,30帧,60帧 表示一秒钟刷过去60张图片
import cv2
cv2.namedWindow("video", cv2.WINDOW_NORMAL)
cv2.resizeWindow("video", 640, 480)
vc1 = cv2.VideoCapture(0) # 0为本机摄像头,若有USB接口是除了本机的其他摄像头,则为1.2.3...
# vc1 = cv2.VideoCapture(1) # 如果打开失败,程序还能运行,不会报错,会闪退
# while True:
while vc1.isOpened(): # vc1.isOpen()是判断是否能够打开摄像头,若打开则为True,未打开则为False
ret, frame = vc1.read() # reda为读取一帧的数据,会返回标记和这一帧的数据(图片),对于标记:True为返回到了数据,False为未读取到数据
if ret: # 如果返回值为真
cv2.imshow("video", frame)
else:
break
key = cv2.waitKey(10)
if key == ord("q"):
break
vc1.release() # 释放资源关闭摄像头
cv2.destroyAllWindows()