opencv调用摄像头

一、读取图像

img=cv2.imread("Resources/lena.jpg")
cv2.imshow("Output",img)
cv2.waitKey(0)

二、读取视频

cap=cv2.VideoCapture("Resources/video.mp4")
while True:
    success,img=cap.read()
    cv2.imshow("Video",img)
    if cv2.waitKey(1)&0xFF==ord('q'):
        break

通过read来不断的读取视频之中的每一帧,然后再通过下一行的imshow显示出来。

如果键入则break


三、调用网络摄像头

cap=cv2.VideoCapture(0) #cv2.VideoCapture(0)代表调取摄像头资源,其中0代表电脑摄像头,1代表外接摄像头(usb摄像头)
cap.set(3,640)#宽
cap.set(4,480)#高
cap.set(10,100)#亮度
while True:
    success,img=cap.read()
    cv2.imshow("Video",img)
    if cv2.waitKey(1)&0xFF==ord('q'):
        break

关于waitkey()的详细解释

1. waitKey()–是在一个给定的时间内(单位ms)等待用户按键触发; 

如果用户没有按下键,则继续等待 (循环)

常见 : 设置 waitKey(0) , 则表示程序会无限制的等待用户的按键事件

一般在 imgshow 的时候 , 如果设置 waitKey(0) , 代表按任意键继续

2. 显示视频时,延迟时间需要设置为 大于0的参数

delay > 0时 , 延迟 ”delay”ms , 在显示视频时这个函数是有用的 , 

用于设置在显示完一帧图像后程序等待 ”delay”ms 再显示下一帧视频 ; 

如果使用 waitKey(0) 则只会显示第一帧视频
 

你可能感兴趣的:(opencv,计算机视觉,人工智能)