本文整理汇总了Python中managers.WindowManager类的典型用法代码示例。如果您正苦于以下问题:Python WindowManager类的具体用法?Python WindowManager怎么用?Python WindowManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了WindowManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: CameoDepth
class CameoDepth(Cameo):
def __init__(self):
self._windowManager = WindowManager('Cameo',
self.onKeypress)
self._captureManager = CaptureManager(
cv2.VideoCapture(0), self._windowManager, True)
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
self._curveFilter = filters.BGRPortraCurveFilter()
def run(self):
"""Run the main loop."""
self._windowManager.createWindow()
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
self._faceTracker.update(frame)
faces = self._faceTracker.faces
rects.swapRects(frame, frame,
[face.faceRect for face in faces])
filters.strokeEdges(frame, frame)
self._curveFilter.apply(frame, frame)
if self._shouldDrawDebugRects:
self._faceTracker.drawDebugRects(frame)
self._captureManager.exitFrame()
self._windowManager.processEvents()
示例2: __init__
def __init__(self):
self._windowManager = WindowManager('Cameo', self.onKeypress)
self._captureManager = CaptureManager(cv2.VideoCapture(0),
self._windowManager, True)
self._curveFilter = filters.BGRProviaCurveFilter()
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
示例3: __init__
def __init__(self):
self._windowManager = WindowManager('Cameo',
self.onKeypress)
self._captureManager = CaptureManager(
cv2.VideoCapture("videos/Megamind.avi"), self._windowManager, False)
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
self._curveFilter = filters.BGRPortraCurveFilter()
示例4: __init__
def __init__(self):
self._windowManager = WindowManager('Cameo',self.onKeypress)
device = depth.CV_CAP_OPENNI # uncomment for Microsoft Kinect
#device = depth.CV_CAP_OPENNI_ASUS # uncomment for Asus Xtion
self._captureManager = CaptureManager(cv2.VideoCapture(device), self._windowManager, True)
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
self._curveFilter = filters.BGRPortraCurveFilter()
示例5: __init__
def __init__(self):
'''
Constructor
'''
self._windowManager = WindowManager('Cameo', self.onKeypress)
self._captureManager = CaptureManager(cv2.VideoCapture(0), self._windowManager, True)
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
self._curveFilter = filters.BGRCrossProcessCurveFilter()
示例6: Cameo
class Cameo(object):
def __init__(self):
self._windowManager = WindowManager('Cameo', self.onKeypress)
self._captureManager = CaptureManager(cv2.VideoCapture(0), self._windowManager, True)
# self._curveFilter = filters.EmbossFilter()
def run(self):
self._windowManager.createWindow()
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
filters.strokeEdge(frame, frame)
# self._curveFilter.apply(frame, frame)
self._captureManager.exitFrame()
self._windowManager.processEvents()
def onKeypress(self, keycode):
if keycode == 32: #space
self._captureManager.writeImage('screenshot.png')
elif keycode == 9: #tab
if not self._captureManager.isWritingVideo:
self._captureManager.startWritingVideo('screencast.avi')
else:
self._captureManager.stopWritingVideo()
if keycode ==27:#esc
self._windowManager.destroyWindow()
示例7: Cameo
class Cameo(object):
def __init__(self):
self._windowManager = WindowManager('Cameo',
self.onKeypress)
self._captureManager = CaptureManager(
cv2.VideoCapture(0), self._windowManager, True)
def run(self):
"""Run the main loop."""
self._windowManager.createWindow()
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
# TODO: Filter the frame (Chapter 3).
self._captureManager.exitFrame()
self._windowManager.processEvents()
def onKeypress (self, keycode):
"""Handle a keypress.
space -> Take a screenshot.
tab -> Start/stop recording a screencast.
escape -> Quit.
"""
if keycode == 32: # space
self._captureManager.writeImage('screenshot.png')
elif keycode == 9: # tab
if not self._captureManager.isWritingVideo:
self._captureManager.startWritingVideo('screencast.avi')
else:
self._captureManager.stopWritingVideo()
elif keycode == 27: # escape
self._windowManager.destroyWindow()
示例8: Cameo
class Cameo(object):
def __init__(self):
self._windowManager = WindowManager('Cameo',
self.onKeypress)
self._captureManager = CaptureManager(
cv2.VideoCapture(0), self._windowManager, True)
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
self._curveFilter = filters.BGRPortraCurveFilter()
def run(self):
"""Run the main loop."""
self._windowManager.createWindow()
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
if frame is not None:
self._faceTracker.update(frame)
faces = self._faceTracker.faces
rects.swapRects(frame, frame,
[face.faceRect for face in faces])
filters.strokeEdges(frame, frame)
self._curveFilter.apply(frame, frame)
if self._shouldDrawDebugRects:
self._faceTracker.drawDebugRects(frame)
self._captureManager.exitFrame()
self._windowManager.processEvents()
def onKeypress(self, keycode):
"""Handle a keypress.
space -> Take a screenshot.
tab -> Start/stop recording a screencast.
x -> Start/stop drawing debug rectangles around faces.
escape -> Quit.
"""
if keycode == 32: # space
self._captureManager.writeImage('screenshot.png')
elif keycode == 9: # tab
if not self._captureManager.isWritingVideo:
self._captureManager.startWritingVideo(
'screencast.avi')
else:
self._captureManager.stopWritingVideo()
elif keycode == 120: # x
self._shouldDrawDebugRects = \
not self._shouldDrawDebugRects
elif keycode == 27: # escape
self._windowManager.destroyWindow()
示例9: __init__
def __init__(self):
self._windowManager = WindowManager('benFinder',
self.onKeypress)
device = depth.CV_CAP_FREENECT
#device = 1
print "device=%d" % device
self._captureManager = CaptureManager(
device, self._windowManager, True)
self._captureManager.channel = depth.CV_CAP_OPENNI_BGR_IMAGE
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
self._backgroundSubtract = False
self._autoBackgroundSubtract = False
self._curveFilter = filters.BGRPortraCurveFilter()
self.background_video_img = None
self.background_depth_img = None
self.autoBackgroundImg = None
self._ts = TimeSeries()
self._frameCount = 0
示例10: Cameo
class Cameo(object):
def __init__(self):
self._window_manager = WindowManager('Cameo', self.on_keypress)
self._capture_manager = CaptureManager(cv2.VideoCapture(0), self._window_manager, False)
def run(self):
self._window_manager.create_window()
while self._window_manager.is_window_created:
with self._capture_manager as f:
frame = f.frame
filters.recolor_CMV(frame, frame)
self._window_manager.process_event()
def on_keypress(self, keycode):
if keycode == 27:
self._window_manager.destroy_window()
示例11: __init__
def __init__(self):
self._windowManager = WindowManager('Cameo',
self.onKeypress)
self._captureManager = CaptureManager(cv2.VideoCapture(0),
self._windowManager, True)
示例12: Cameo
class Cameo(object):
def __init__(self):
self._windowManager = WindowManager('Cameo', self.onKeypress)
self._captureManager = CaptureManager(cv2.VideoCapture(0),
self._windowManager, True)
self._curveFilter = filters.BGRProviaCurveFilter()
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
def run(self):
""" Run the main loop """
self._windowManager.createWindow()
print("Window '{}' Created".format(self._windowManager.windowName))
print("\n{}\n{}\n{}\n{}".format("Controls:",
"space --> Take a screenshot",
"tab --> Start/stop recording a screencast",
"escape --> Quit"))
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
self._faceTracker.update(frame)
faces = self._faceTracker.faces
rects.swapRects(frame, frame, [face.faceRect for face in faces])
# Add filtering to the frame
filters.strokeEdges(frame,frame)
self._curveFilter.apply(frame,frame)
if self._shouldDrawDebugRects:
self._faceTracker.drawDebugRects(frame)
self._captureManager.exitFrame()
self._windowManager.processEvents()
def stop(self):
print("[CAMEO] closing all processes")
self._captureManager._capture.release()
self._windowManager.destroyWindow()
def onKeypress(self, keycode):
""" Handle a keypress
space --> Take a screenshot
tab --> Start/stop recording a screencast
x --> Toggle drawing debug rectangles around faces
escape --> Quit
"""
if keycode == 32: # Space
self._captureManager.writeImage('screenshot.png');
print("Writing image to file....")
elif keycode == 9: # Tab
if not self._captureManager.isWritingVideo:
self._captureManager.startWritingVideo('screencast.avi')
print("Writing video to file...")
else:
self._captureManager.stopWritingVideo()
print("Stopped writing video")
elif keycode == 120: # x
self._shouldDrawDebugRects = not self._shouldDrawDebugRects
print("Toggled drawing rectangles")
elif keycode == 27: # escape
print("Closing Window...")
self._windowManager.destroyWindow()
示例13: Browser
class Browser(object):
def __init__(self,video_source):
self._windowManager = WindowManager('Browser', self.onKeypress)
self._captureManager = CaptureManager(video_source, self._windowManager, True)
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
self._curveFilter = filters.BGRPortraCurveFilter()
def run(self):
"""Run the main loop."""
self._windowManager.createWindow()
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
if frame is not None:
print "got frame"
self._faceTracker.update(frame)
faces = self._faceTracker.faces
rects.swapRects(frame, frame,
[face.faceRect for face in faces])
#filters.strokeEdges(frame, frame)
#self._curveFilter.apply(frame, frame)
if self._shouldDrawDebugRects:
self._faceTracker.drawDebugRects(frame)
else:
print "got None frame"
print "press any key to exit."
cv2.waitKey(0)
break
self._captureManager.exitFrame()
waitkey_time=1
if self._captureManager._video_source!=0:
waitkey_time=500
self._windowManager.processEvents(waitkey_time)
def onKeypress(self, keycode):
"""Handle a keypress.
space -> Take a screenshot.
tab -> Start/stop recording a screencast.
x -> Start/stop drawing debug rectangles around faces.
escape -> Quit.
"""
if keycode == 32: # space
self._captureManager.writeImage('screenshot.png')
elif keycode == 9: # tab
if not self._captureManager.isWritingVideo:
self._captureManager.startWritingVideo(
'/Users/xcbfreedom/Documents/screencast.avi')
else:
self._captureManager.stopWritingVideo()
elif keycode == 120: # x
self._shouldDrawDebugRects = \
not self._shouldDrawDebugRects
elif keycode == 27: # escape
self._windowManager.destroyWindow()
示例14: BenFinder
class BenFinder(object):
BACKGROUND_VIDEO_FNAME = "background_video.png"
BACKGROUND_DEPTH_FNAME = "background_depth.png"
def __init__(self):
self._windowManager = WindowManager('benFinder',
self.onKeypress)
device = depth.CV_CAP_FREENECT
#device = 1
print "device=%d" % device
self._captureManager = CaptureManager(
device, self._windowManager, True)
self._captureManager.channel = depth.CV_CAP_OPENNI_BGR_IMAGE
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
self._backgroundSubtract = False
self._autoBackgroundSubtract = False
self._curveFilter = filters.BGRPortraCurveFilter()
self.background_video_img = None
self.background_depth_img = None
self.autoBackgroundImg = None
self._ts = TimeSeries()
self._frameCount = 0
def loadBackgroundImages(self):
""" Load the background images to be used for background subtraction
from disk files.
"""
self.background_video_img = cv2.imread(BenFinder.BACKGROUND_VIDEO_FNAME)
self.background_depth_img = cv2.imread(BenFinder.BACKGROUND_DEPTH_FNAME,
cv2.CV_LOAD_IMAGE_GRAYSCALE)
def showBackgroundImage(self):
""" Display the background image used for subtraction in a separate window
"""
# Load the images from disk if necessary.
if (not self.background_depth_img or not self.background_video_img):
self.loadBackgroundImages()
# Display the correct image
if (self._autoBackgroundSubtract):
cv2.imshow("Auto Background Image", self.autoBackgroundImg)
else:
if (self._captureManager.channel == \
depth.CV_CAP_OPENNI_DEPTH_MAP):
cv2.imshow("background_depth_img",self.background_depth_img)
elif (self._captureManager.channel == \
depth.CV_CAP_OPENNI_BGR_IMAGE):
cv2.imshow("background_video_img",self.background_video_img)
else:
print "Error - Invalid Channel %d." % \
self._captureManager.channel
def run(self):
"""Run the main loop."""
self._windowManager.createWindow()
while self._windowManager.isWindowCreated:
self._captureManager.enterFrame()
frame = self._captureManager.frame
if frame is not None:
if (self._backgroundSubtract):
if (self._autoBackgroundSubtract):
if (self._captureManager.channel == \
depth.CV_CAP_OPENNI_DEPTH_MAP):
if (self.autoBackgroundImg == None):
self.autoBackgroundImg = numpy.float32(frame)
# First work out the region of interest by
# subtracting the fixed background image
# to create a mask.
absDiff = cv2.absdiff(frame,self.background_depth_img)
benMask,maskArea = filters.getBenMask(absDiff,8)
cv2.accumulateWeighted(frame,
self.autoBackgroundImg,
0.05)
# Convert the background image into the same format
# as the main frame.
bg = cv2.convertScaleAbs(self.autoBackgroundImg,
alpha=1.0)
# Subtract the background from the frame image
cv2.absdiff(frame,bg,frame)
# Scale the difference image to make it more sensitive
# to changes.
cv2.convertScaleAbs(frame,frame,alpha=100)
#frame = cv2.bitwise_and(frame,frame,dst=frame,mask=benMask)
frame = cv2.multiply(frame,benMask,dst=frame,dtype=-1)
bri = filters.getMean(frame,benMask)
#print "%4.0f, %3.0f" % (bri[0],self._captureManager.fps)
self._ts.addSamp(bri[0])
if (self._frameCount < 15):
self._frameCount = self._frameCount +1
else:
self._ts.plotRawData()
self._ts.findPeaks()
self._frameCount = 0
else:
print "Auto background subtract only works for depth images!"
else:
if (self._captureManager.channel == \
#.........这里部分代码省略.........
示例15: __init__
def __init__(self,video_source):
self._windowManager = WindowManager('Browser', self.onKeypress)
self._captureManager = CaptureManager(video_source, self._windowManager, True)
self._faceTracker = FaceTracker()
self._shouldDrawDebugRects = False
self._curveFilter = filters.BGRPortraCurveFilter()