【Python+OpenCV】捕捉笔记本和外接摄像头

ゝ一世哀愁。 2023-06-11 08:23 62阅读 0赞

1 代码

打开笔记本内置摄像头

  1. import cv2
  2. cap = cv2.VideoCapture(0) # VideoCapture()中参数是0,表示打开笔记本的内置摄像头
  3. cv2.namedWindow('camera')
  4. while cap.isOpened():
  5. ret, frame = cap.read()
  6. if ret:
  7. cv2.imshow('camera', frame)
  8. cv2.waitKey(1)

打开外接usb摄像头

  1. import cv2
  2. cap = cv2.VideoCapture(1) # VideoCapture()中参数是1,表示打开外接usb摄像头
  3. cv2.namedWindow('camera')
  4. while cap.isOpened():
  5. ret, frame = cap.read()
  6. if ret:
  7. cv2.imshow('camera', frame)
  8. cv2.waitKey(1)

2 注释

cap = cv2.VideoCapture(0)
VideoCapture()中参数是0,表示打开笔记本的内置摄像头;当参数为1时,表示打开外接usb摄像头摄像头。

cap.isOpened():
若返回True表示摄像头打开成功,若返回False表示摄像头打开失败。

ret,frame = cap.read()
ret,frame是获cap.read()方法的两个返回值。其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。

waitKey(0)
只显示当前帧,相当于视频暂停。如果没有这段代码,图片将一闪而过。

  1. cv2.waitKey(1) # 参数是1,表示延时1ms切换到下一帧图像
  2. cv2.waitKey(1000) # 会因为延时过久而卡顿感觉到卡顿。
  3. cv2.waitKey(0) # 只显示当前帧图像,相当于视频暂停。

发表评论

表情:
评论列表 (有 0 条评论,62人围观)

还没有评论,来说两句吧...

相关阅读