def __init__(self): self._windowManager = WindowManager('Cameo', self.eventhandler) self._captureManager = CaptureManager( windowmanager=self._windowManager, ismirrorpreview=True) self._curveFilter = filters.BGRCrossProcess() self._kernelFilter = filters.AbossEffect() self._shrpenimage = filters.SharpenFilter() self._facetracker = FaceDetect()
def __init__(self): self.providers = { "Configuration": Configuration.Configuration(), "OsService": OsService.OsService(self), "WindowManager": WindowManager.WindowManager(self), "ScreenHelper": ScreenHelper.ScreenHelper(self), "InteractionService": InteractionService.InteractionService(self), "BotService": BotService.BotService(self), "BotManager": BotManager.BotManager(self), "CommandManager": Command.Command(self), "EventManager": EventManager.EventManager(self), "SlackCommandService": SlackCommandService.SlackCommandService(self), "WorkFlowService": WorkFlowService.WorkFlowService(self), "WorkFlowCommandManager": WorkFlowCommandManager.WorkFlowCommandManager(self), "WorkflowExecutor": WorkflowExecutor.WorkflowExecutor(self), "LogManager": LogManager.LogManager(self) }
class Cameo(object): def __init__(self): self._windowManager = WindowManager('Cameo', self.onKeyPress) self._captureManager = CaptureManager(cv2.VideoCapture(0), self._windowManager, True) 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 # TODO: Filter the frame (Chapter 3). filters.strokeEdges(frame, frame) self._curveFilter.apply(frame, frame) self._captureManager.exitFrame() self._windowManager.processEvents() def onKeyPress(self, keycode): """Handle a keycode/ 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()
class Cameo(object): def __init__(self): self._windowManager = WindowManager('Cameo', self.eventhandler) self._captureManager = CaptureManager( windowmanager=self._windowManager, ismirrorpreview=True) self._curveFilter = filters.BGRCrossProcess() self._kernelFilter = filters.AbossEffect() self._shrpenimage = filters.SharpenFilter() self._facetracker = FaceDetect() def run(self): self._windowManager.createwindow() while self._windowManager.iswindowcreated(): self._captureManager.enterframe() frame = self._captureManager.getFrame() #filters.edgeStrock(frame,frame) #self._shrpenimage.apply(frame,frame) #self._kernelFilter.apply(frame,frame) self._curveFilter.apply(frame, frame) self._facetracker.update(frame) faces = self._facetracker.getFaces() rects.swapRect(frame, faces) self._facetracker.drawRect(frame) self._windowManager.processevent() self._captureManager.exitframe() def eventhandler(self, key): if key == 32: self._captureManager.captureimage('screenshot.png') elif key == 9: if self._captureManager.isvideowriting(): self._captureManager.stopvideowriting() else: self._captureManager.startvideowriting('film.avi') elif key == 27: self._windowManager.destroywindow()
def __init__(self): self._windowManager = WindowManager('Cameo', self.onkeypress) self._captureManager = CaptureManager(cv2.VideoCapture(0), self._windowManager, True)
class Cameo(object): def __init__(self): self._windowManager = WindowManager('Cameo', self.onkeypress) self._captureManager = CaptureManager(cv2.VideoCapture(0), self._windowManager, True) # self._curveFilter=filters.BGRPortraCurveFilter() def run(self): self._windowManager.createWindow() while self._windowManager.isWindowCreated: self._captureManager.enterFrame() frame = self._captureManager.frame # filters.strokeEdges(frame,frame) # self._curveFilter.apply(frame,frame) self._captureManager.exitFrame() self._windowManager.processEvents() def onkeypress(self, keycode): ''' space-> 载图 tab->启动和停止视频录制 esc->退出应用 :param keycode: :return: ''' 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: # esc self._windowManager.destroyWindow()
def __init__(self): self._windowManager = WindowManager('Cameo', self.onKeyPress) self._captureManager = CaptureManager(cv2.VideoCapture(0), self._windowManager, True) self._curveFilter = filters.BGRPortraCurveFilter()