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()
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()
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()
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()
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()
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()
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 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()
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()
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()
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()
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() #每次循环都要进行一次事件的扫描处理。
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
# 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)