OpenCV-Python Tutorials
https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html
视频捕获
Capture Video from Camera
主要函数
cv2.VideoCapture()
通过摄像头捕获实时图像数据。共一个参数,参数表示摄像头索引号,0:默认笔记本内置摄像头,或者填写视频名称,直接加载本地视频文件
cap.isOpened()
返回一个布尔值(True / False)。有时,cap 可能没有初始化捕捉器,在这种情况下代码就会出错。该函数用来检查捕捉器是否初始化,如果打开了它会返回 True 。否则用 cap.open() 手动打开。但是一般情况下 cap 没有初始化都是视频文件没有正确传入导致的,在这种情况下请检查文件路径或者摄像头索引是否正确。
ret,frame = cap.read()
返回两个值,ret 存储布尔值,如果视频读取正确,则为 True,如果错误,则为 False,也可用来判断是否到视频结尾;frame 存储每一帧的图像。若使用一个变量来接收两个值,如frame = cap.read(),则 frame 为一个元组,原来使用 frame 处需更改为 frame[1]
cap.get(propid)
获得视频的某些参数。propid 指属性id,可以是 0 到 18 之间的任何整数。每一个数字代表视频的一个属性,其中的一些值可以使用 cap.set(propid,value) 来修改,value 就是你想要设置成的新的值。
例如,可以使用 cap.get(3) 和 cap.get(4) 来查看每一帧的宽和高,默认为 640* 480。如果想把宽和高修改为 320*240,可以使用 cap.set(3,320) 和cap.set(4,240) 。
cap.release():释放摄像头
创建了一个 VideoCapture 对象来捕获视频,视频源为当前电脑摄像头。
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(cap.isOpened()): #反复读取我们捕获到的视频帧
ret, frame = cap.read()