Esempio n. 1
0
File: cameo.py Progetto: sarvex/pycv
 def run(self):
     """Run the main loop."""
     self._windowManager.createWindow()
     while self._windowManager.isWindowCreated:
         self._captureManager.enterFrame()
         self._hiddenCaptureManager.enterFrame()
         frame = self._captureManager.frame
         hiddenFrame = self._hiddenCaptureManager.frame
         
         if frame is not None:
             if hiddenFrame is not None:
                 self._faceTracker.update(hiddenFrame)
                 hiddenFaces = self._faceTracker.faces
                 self._faceTracker.update(frame)
                 faces = self._faceTracker.faces
             
                 i = 0
                 while i < len(faces) and i < len(hiddenFaces):
                     rects.copyRect(
                         hiddenFrame, frame, hiddenFaces[i].faceRect,
                         faces[i].faceRect)
                     i += 1
             
             filters.strokeEdges(frame, frame)
             self._curveFilter.apply(frame, frame)
             
             if hiddenFrame is not None and self._shouldDrawDebugRects:
                 self._faceTracker.drawDebugRects(frame)
         
         self._captureManager.exitFrame()
         self._hiddenCaptureManager.exitFrame()
         self._windowManager.processEvents()
Esempio n. 2
0
 def run(self):
     """Run the main loop."""
     self._windowManager.createWindow()
     while self._windowManager.isWindowCreated:
         self._captureManager.enterFrame()
         self._hiddenCaptureManager.enterFrame()
         frame = self._captureManager.frame
         hiddenFrame = self._hiddenCaptureManager.frame
         
         if frame is not None:
             if hiddenFrame is not None:
                 self._faceTracker.update(hiddenFrame)
                 hiddenFaces = self._faceTracker.faces
                 self._faceTracker.update(frame)
                 faces = self._faceTracker.faces
             
                 i = 0
                 while i < len(faces) and i < len(hiddenFaces):
                     rects.copyRect(
                         hiddenFrame, frame, hiddenFaces[i].faceRect,
                         faces[i].faceRect)
                     i += 1
             
             filters.strokeEdges(frame, frame)
             self._curveFilter.apply(frame, frame)
             
             if hiddenFrame is not None and self._shouldDrawDebugRects:
                 self._faceTracker.drawDebugRects(frame)
         
         self._captureManager.exitFrame()
         self._hiddenCaptureManager.exitFrame()
         self._windowManager.processEvents()
Esempio n. 3
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()
Esempio n. 4
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()
Esempio n. 5
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()
Esempio n. 6
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()
    def run(self):
        """Run the main loop."""
        self._windowManager.createWindow()
        while self._windowManager.isWindowCreated:
            self._captureManager.enterFrame()
            self._captureManager.channel = cv2.CAP_OPENNI_DISPARITY_MAP
            disparityMap = self._captureManager.frame
            self._captureManager.channel = cv2.CAP_OPENNI_VALID_DEPTH_MASK
            validDepthMask = self._captureManager.frame
            self._captureManager.channel = cv2.CAP_OPENNI_BGR_IMAGE
            frame = self._captureManager.frame
            if frame is None:
                # Failed to capture a BGR frame.
                # Try to capture an infrared frame instead.
                self._captureManager.channel = cv2.CAP_OPENNI_IR_IMAGE
                frame = self._captureManager.frame

            if frame is not None:

                # Make everything except the median layer black.
                mask = depth.createMedianMask(disparityMap, validDepthMask)
                frame[mask == 0] = 0

                if self._captureManager.channel == cv2.CAP_OPENNI_BGR_IMAGE:
                    # A BGR frame was captured.
                    # Apply filters to it.
                    filters.strokeEdges(frame, frame)
                    self._curveFilter.apply(frame, frame)

            self._captureManager.exitFrame()
            self._windowManager.processEvents()
Esempio n. 8
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()
Esempio n. 9
0
 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()
Esempio n. 10
0
 def run(self):
     self._windowManager.createWindow()
     while self._windowManager.isWindowCreated:
         self._captureManager.enterFrame()
         frame = self._captureManager.frame
         copyFrame = frame
         filters.strokeEdges(frame, copyFrame, 9, 7)
         self._windowManager.show(copyFrame)
         self._captureManager.exitFrame()
         self._windowManager.processEvents()
Esempio n. 11
0
    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._captureManager.exitFrame()
            self._windowManager.processEvents()
Esempio n. 12
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:
             filters.strokeEdges(frame, frame)
             self._curveFilter.apply(frame, frame)
         self._captureManager.exitFrame()
         self._windowManager.processEvents()
Esempio n. 13
0
    def run(self):
        """run the main loop"""
        self._windowManager.create_window()
        while self._windowManager.is_window_created:
            self._capturemanager.enterframe()
            frame = self._capturemanager.frame

            # 这里插入滤波代码
            filters.strokeEdges(frame, frame)
            self._FindEdgesFilter.apply(frame, frame)

            self._capturemanager.exitframe()
            self._windowManager.process_events()
Esempio n. 14
0
    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)
            fps = self._captureManager.getFps()
            self._captureManager.showFps(frame, (20, 30), str(fps), 1, 2)

            self._captureManager.exitFrame()
            self._windowManager.processEvents()  #每次循环都要进行一次事件的扫描处理。
Esempio n. 15
0
    def run(self):
        self._windowManager.createWindow()
        while self._windowManager.isWindowCreated:
            self._captureManager.enterFrame()
            frame = self._captureManager.frame

            # filter the frame
            #             frame = cv2.GaussianBlur(frame, (3, 3), 0)
            #             self._captureManager._frame = cv2.Canny(frame, 50, 150)
            filters.strokeEdges(frame, frame)
            self._curveFilter.apply(frame, frame)

            self._captureManager.exitFrame()
            self._windowManager.processEvent()
Esempio n. 16
0
 def run(self):
     """Run the main loop."""
     self._windowManager.createWindow()
     while self._windowManager.isWindowCreated:
         self._captureManager.enterFrame()
         frame = self._captureManager.frame
         
         # TODO: Track faces (Chapter 3).
         
         filters.strokeEdges(frame, frame)
         self._curveFilter.apply(frame, frame)
         
         self._captureManager.exitFrame()
         self._windowManager.processEvents()
Esempio n. 17
0
	def run(self):
		"""Runs the main program loop"""
		# self._windowManager = WindowManager('Cameo',self.onKeypress)
		self._windowManager.createWindow()
		while self._windowManager.isWindowCreated:
			self._captureManager.enterFrame()
			frame = self._captureManager.frame

			# TODO: filter frame
			filters.strokeEdges(frame,frame)
			self._curveFilter.apply(frame,frame)

			self._captureManager.exitFrame()
			self._windowManager.processEvents()
Esempio n. 18
0
    def run(self):
        """Run the main loop."""
        self._windowManager.createWindow()
        while self._windowManager.isWindowCreated:
            self._captureManager.enterFrame()
            frame = self._captureManager.frame

            # Stroke edges
            filters.strokeEdges(frame, frame)
            #
            # #Apply filter
            self._filter.apply(frame, frame)

            self._captureManager.exitFrame()
            self._windowManager.processEvents()
    def run(self):
        """Run the main loop."""
        self._windowManager.createWindow()
        while self._windowManager.isWindowCreated:
            self._captureManager.enterFrame()
            frame = self._captureManager.frame

            frame = numpy.array(frame[1])

            filters.strokeEdges(frame, frame)

            self._curveFilter.apply(frame, frame)
            #TOPO: Filter the frame (Chapter 3)
            self._captureManager.exitFrame()
            self._windowManager.processEvents()
Esempio n. 20
0
 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).
         
         #kaz notes: enter a random effect filter (blur, sharpen, colorize) here
         filters.strokeEdges(frame, frame)
         #filters.recolorCMV(frame, frame)
         self._curveFilter.apply(frame, frame)
         #kaz note end
         
         self._captureManager.exitFrame()
         self._windowManager.processEvents()
Esempio n. 21
0
    def run(self):
        """Run the main loop"""

        # 创建一个窗口
        self._windowManager.createWindow()

        while self._windowManager.isWindowCreated:

            # 获取帧是否成功grab()
            self._captureManager.enterFrame()
            frame = self._captureManager.frame

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

            self._captureManager.exitFrame()

            self._windowManager.processEvents()
Esempio n. 22
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()
Esempio n. 23
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()
Esempio n. 24
0
    def run(self):
        """Run the main loop.
        :rtype: object
        """

        # print the key-operation
        print("Press space  to take a screenshot\n" +
              "      escape to quit\n" +
              "      tab    to start/stop recording a screencast\n")
        self._windowManager.createWindow()
        while self._windowManager.isWindowCreated:
            self._captureManager.enterFrame()
            frame = self._captureManager.frame

            # TODO: Filter the frame (Chapter3).
            filters.strokeEdges(frame, frame)
            self._curveFilter.apply(frame, frame)

            self._captureManager.exitFrame()
            self._windowManager.processEvents()
Esempio n. 25
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()
Esempio n. 26
0
    def run(self):
        """run main loop. """
        self._winMng.createWindow()
        while self._winMng.isWindowCreated:
            self._captureMng.enterFrame()

            frame = self._captureMng.frame

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

            self._captureMng.frame = frame

            self._captureMng.exitFrame()
            self._winMng.processEvents()
Esempio n. 27
0
    def run(self):
        """run main loop. """
        self._winMng.createWindow()
        while self._winMng.isWindowCreated:
            self._captureMng.enterFrame()

            frame = self._captureMng.frame

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

            self._captureMng.frame = frame

            self._captureMng.exitFrame()
            self._winMng.processEvents()
Esempio n. 28
0
# cv2.waitKey(0)
# image = cv2.imread("img.jpeg")
# filters.recolorRC(image, image)
# cv2.imshow("cmv", image)
# cv2.waitKey(0)
# image = cv2.imread("img.jpeg")
# filters.recolorRGV(image, image)
# cv2.imshow("cmv", image)
# print(image[0])
# cv2.waitKey(0)
# image = cv2.imread("img.jpeg")
# print(image[0])
# cv2.imshow("cmv", image)
# cv2.waitKey(0)

# portra_filter = filters.BGRPortraCurveFilter()
# provia_filter = filters.BGRProviaCurveFilter()
# velvia_filter = filters.BGRVelviaCurveFilter()
# cross_filter = filters.BGRCrossProcessCurveFilter()

# portra_filter.apply(image, portra)
# provia_filter.apply(image, provia)
# velvia_filter.apply(image, velvia)
# cross_filter.apply(image, cross_process)

# images = np.hstack([image, portra, provia, velvia, cross_process])

filters.strokeEdges(image, image)
cv2.imshow("images", image)
cv2.waitKey(0)