OpenCV(5)--打开摄像头读取数据

OpenCV从摄像头读取数据,并显示在窗口上
GitHub@ShaneHolmes
源代码:

import cv2

cameraCapture = cv2.VideoCapture(0)
cv2.namedWindow('test_camera')
success, frame = cameraCapture.read()
while success:
    if cv2.waitKey(1) == 27:#Esc的ASCII码为27
        break
    cv2.imshow('test_camera', frame)
    success, frame = cameraCapture.read()

cv2.destroyAllWindows()
cameraCapture.release()

OpenCV(5)--打开摄像头读取数据_第1张图片

  • VideoCapture(0) 开发默认摄像头,如果你有多个摄像头可以试试除0之外的其他参数。
  • nameWindow(‘Test camera’) 其实是创建一个名字叫”Test camera“的窗口。
  • while(1){ if(waitKey(100)==27)break; } 在这个程序中,我们告诉OpenCv等待用户触发事件,等待时间为100ms,如果在这个时间段内, 用户按下ESC(ASCII码为27),则跳出循环,否则,则跳出循环
  • imshow(‘Test camera’, frame) 将frame中的数据,显示到名字为”Test camera“ 的窗口上。
success, frame = cameraCapture.read()
#read()方法执行成功之后,success为true(等同于 frame,捕获的信息)
while success:#success为true进入循环
    if cv2.waitKey(1) == 27:#Esc的ASCII码为27。如果在1ms内按下了Esc,break,否则继续执行下面的代码
        break
    cv2.imshow('test_camera', frame)#显示摄像头捕获的信息
    success, frame = cameraCapture.read()#继续捕获摄像头信息,然后继续循环
   

意思就是说,给你打开摄像头,捕获摄像头信息(图片之类的数据)进入循环,在1ms内按esc就退出循环,否则显示从摄像头捕获的信息,再次进行捕获然后循环。参数0对显示结果有影响,1ms看不出间断,当你把0设置成1000(1s)的时候,会明显感觉到显示的是以图片的形式展现且一卡一卡的
更多文章:https://blog.csdn.net/qq_33208851/article/details/95237054

你可能感兴趣的:(OpenCV)