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

1 代码

打开笔记本内置摄像头

import cv2

cap = cv2.VideoCapture(0)    # VideoCapture()中参数是0,表示打开笔记本的内置摄像头
cv2.namedWindow('camera')

while cap.isOpened():
    ret, frame = cap.read()
    if ret:
        cv2.imshow('camera', frame)
        cv2.waitKey(1)

打开外接usb摄像头

import cv2

cap = cv2.VideoCapture(1)    # VideoCapture()中参数是1,表示打开外接usb摄像头
cv2.namedWindow('camera')

while cap.isOpened():
    ret, frame = cap.read()
    if ret:
        cv2.imshow('camera', frame)
        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)
只显示当前帧,相当于视频暂停。如果没有这段代码,图片将一闪而过。

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

你可能感兴趣的:(Python,OpenCV)