Beispiel #1
0
 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()
Beispiel #2
0
 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)
     }
Beispiel #3
0
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()
Beispiel #4
0
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()
Beispiel #5
0
    def __init__(self):

        self._windowManager = WindowManager('Cameo', self.onkeypress)

        self._captureManager = CaptureManager(cv2.VideoCapture(0),
                                              self._windowManager, True)
Beispiel #6
0
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()
Beispiel #7
0
 def __init__(self):
     self._windowManager = WindowManager('Cameo', self.onKeyPress)
     self._captureManager = CaptureManager(cv2.VideoCapture(0),
                                           self._windowManager, True)
     self._curveFilter = filters.BGRPortraCurveFilter()