#Cameo项目(人脸跟着和图像处理)
#创建CaptureManager类和WindowManager类作为高级的I/O流接口。
#在应用程序中使用CaptureManager来读取新的帧,并能将帧分配到一个或多个输出中。
#这些输出包括静止的图像文件、视频文件以及窗口(在这里我们通过WindowManager类来实现)。
#WindowManager类使应用程序能以面向对象的形式处理窗口和事件。
#使用managers.CaptureManager提取视频流
#创建一个名为manager.py的文件,首先实现CaptureManager类:
import cv2
import numpy
import time
class CaptureManager(object):
def __init__(self,capture,previewWindowManager=None,
shouldMirrorPreview=False):
self.previewWindowManager = previewWindowManager
self.shouldMirrorPreview = shouldMirrorPreview
self._capture = capture
self._channel = 0
self._enteredFrame = False
self._frame = None
self._imageFilename = None
self._videoFilename = None
self._videoEncoding = None
self._videoWriter = None
self._startTime = None
self._frameElapsed = long(0)
self._fpsEstimate = None
#将get()和set()方法变成属性
@property
def channel(self):
return self._channel
@channel.setter
def channel(self,value):
if self._channel != value:
self._channel = value
self._frame = None
@property
def frame(self):
if self._enteredFrame and self._frame is None:
#获取帧