Пример #1
0
    def run(self):
        """Run the main loop."""
        self._windowManager.createWindow()
        while self._windowManager.isWindowCreated:
            self._captureManager.enterFrame()
            self._captureManager.channel = \
                depth.CV_CAP_OPENNI_DISPARITY_MAP
            disparityMap = self._captureManager.frame
            self._captureManager.channel = \
                depth.CV_CAP_OPENNI_VALID_DEPTH_MASK
            validDepthMask = self._captureManager.frame
            self._captureManager.channel = \
                depth.CV_CAP_OPENNI_BGR_IMAGE
            frame = self._captureManager.frame

            if frame is not None:
                self._faceTracker.update(frame)
                faces = self._faceTracker.faces
                masks = [
                    depth.createMedianMask(
                        disparityMap, validDepthMask, face.faceRect) \
                    for face in faces
                ]
                rects.swapRects(frame, frame,
                                [face.faceRect for face in faces], masks)

                filters.strokeEdges(frame, frame)
                self._curveFilter.apply(frame, frame)

                if self._shouldDrawDebugRects:
                    self._faceTracker.drawDebugRects(frame)

            self._captureManager.exitFrame()
            self._windowManager.processEvents()
Пример #2
0
    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)
Пример #3
0
 def run(self):
     """Run the main loop."""
     self._windowManager.createWindow()
     while self._windowManager.isWindowCreated:
         self._captureManager.enterFrame()
         self._captureManager.channel = \
             depth.CV_CAP_OPENNI_DISPARITY_MAP
         disparityMap = self._captureManager.frame
         self._captureManager.channel = \
             depth.CV_CAP_OPENNI_VALID_DEPTH_MASK
         validDepthMask = self._captureManager.frame
         self._captureManager.channel = \
             depth.CV_CAP_OPENNI_BGR_IMAGE
         frame = self._captureManager.frame
         
         self._faceTracker.update(frame)
         faces = self._faceTracker.faces
         masks = [
             depth.createMedianMask(
                 disparityMap, validDepthMask, face.faceRect) \
             for face in faces
         ]
         rects.swapRects(frame, frame,
                         [face.faceRect for face in faces], masks)
         
         filters.strokeEdges(frame, frame)
         self._curveFilter.apply(frame, frame)
         
         if self._shouldDrawDebugRects:
             self._faceTracker.drawDebugRects(frame)
         
         self._captureManager.exitFrame()
         self._windowManager.processEvents()
Пример #4
0
 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)
             
             #TODO: Convert colored image to gray. 
             #TODO: Implement threshold (250,255)
             #TODO: Mediana filter
             #TODO: Labeling points
             #TODO: Draw the line between those points.               
             
             if self._shouldDrawDebugRects:
                 self._faceTracker.drawDebugRects(frame)
         
         self._captureManager.exitFrame()
         self._windowManager.processEvents()
Пример #5
0
    def run(self):
        """Run the main loop"""
        self._windowManager.createWindow()
        while self._windowManager.isWindowCreated:
            self._captureManager.enterFrame()
            frame = self._captureManager.frame

            #Tracking and swapping faces in a camera feed
            self._faceTracker.update(frame)
            tracked_faces = self._faceTracker.faces

            #Updating current filter
            self._curveFliter = self._filters[self._currentFilter]
            filters.strokeEdges(frame, frame)
            self._curveFliter.apply(frame, frame)

            if self._shouldswapFaces:
                rects.swapRects(frame, frame,
                                [tf.faceRect for tf in tracked_faces])

            if self._shoulddrawRects:
                self._faceTracker.drawRects(frame)

            self._captureManager.exitFrame()
            self._windowManager.processEvents()
Пример #6
0
 def run(self):
     """ Main Loop"""
     
     self._windowManager.createWindow()
     while self._windowManager.isWindowCreated:
         self._captureManager.enterFrame()
         frame = self._captureManager.frame
         
         self._faceTracker.update(frame)
         faces = self._faceTracker.faces
         
         #
         #for debugging
         #
         rects.swapRects(frame, frame, [face.faceRect for face in faces])
         
         
         """
             modifies the image
             
         """
         #filters.strokeEdges(frame, frame)
         
         self._curveFilter.apply(frame, frame)
         
         if self._shouldDrawDebugRects:
             self._faceTracker.drawDebugRects(frame)
         
         
         
         self._captureManager.exitFrame()
         self._windowManager.processEvents()
Пример #7
0
 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)
Пример #8
0
    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()
Пример #9
0
    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()
Пример #10
0
 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()
Пример #11
0
    def run(self):
        """Run the main loop"""
        self._windowManager.createWindow()
        while self._windowManager.isWindowCreated:
            self._captureManager.enterFrame()
            frame = self._captureManager.frame

            #Swapping faces in a camera feed
            self._faceTracker.update(frame)
            tracked_faces = self._faceTracker.faces
            face_rects = []
            for tf in tracked_faces:
                face_rects.append(tf.faceRect)
            rects.swapRects(frame, frame, face_rects)

            if self._shoulddrawRects:
                self._faceTracker.drawRects(frame)

            self._captureManager.exitFrame()
            self._windowManager.processEvents()
Пример #12
0
    def run(self):
        ''' Run the main loop'''

        self._windowManager.createWindow()
        self._windowManager.setStatus("K={},C={},R={},S={}".format(self._convolutionIndex,self._curveIndex,self._recolorIndex,self._strokeEdges))
        print"Cameo Vision Framework\n"\
             "Tab to start/stop recording\n"\
             "Space to grab a screenshot\n"\
             "r to cycle through recolor filters <none>, CMV, RC, RGV\n"\
             "c to cycle through tonemapping curves <none>,crossprocess, porta, provia, velvia\n"\
             "k to cycle through convolution filters <none>, find edges,sharpen, blur, emboss\n"\
             "s to apply stroke edges filter\n"
        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])

            if self._convolution is not None:
                self._convolution.apply(frame, frame)
            if self._curveFilter is not None:
                self._curveFilter.apply(frame, frame)
            if self._recolor is not None:
                self._recolor(frame, frame)
            if self._strokeEdges:
                filters.strokeEdges(frame, frame)
            
            filters.deSkew(frame,frame)

            if self._shouldDrawDebugRects:
                self._faceTracker.drawDebugRects(frame)

            self._captureManager.exitFrame()
            self._windowManager.processEvents()