def draw(self, image): MotionTrackedBodypartPolar.draw(self, image) if (self.params['gui'][self.name]['track']): # Draw the bodypart state position. angle = self.state.angles[0] * self.sense pt = self.R.dot([ self.state.radii[0] * np.cos(angle), self.state.radii[0] * np.sin(angle) ]) ptState_i = imageprocessing.clip_pt( (int(pt[0] + self.params['gui'][self.name]['hinge']['x']), int(pt[1] + self.params['gui'][self.name]['hinge']['y'])), image.shape) cv2.ellipse(image, ptState_i, (2, 2), 0, 0, 360, self.bgra_state, 1) # Set a pixel at the min/max state positions. try: angle = self.stateLo_p.angles[0] * self.sense pt = self.R.dot([ self.state.radii[0] * np.cos(angle), self.state.radii[0] * np.sin(angle) ]) ptStateLo_i = imageprocessing.clip_pt( (int(pt[0] + self.params['gui'][self.name]['hinge']['x']), int(pt[1] + self.params['gui'][self.name]['hinge']['y'])), image.shape) angle = self.stateHi_p.angles[0] * self.sense pt = self.R.dot([ self.state.radii[0] * np.cos(angle), self.state.radii[0] * np.sin(angle) ]) ptStateHi_i = imageprocessing.clip_pt( (int(pt[0] + self.params['gui'][self.name]['hinge']['x']), int(pt[1] + self.params['gui'][self.name]['hinge']['y'])), image.shape) # Set the pixels. image[ptStateLo_i[1]][ptStateLo_i[0]] = np.array( [255, 255, 255]) - image[ptStateLo_i[1]][ptStateLo_i[0]] image[ptStateHi_i[1]][ptStateHi_i[0]] = np.array( [255, 255, 255]) - image[ptStateHi_i[1]][ptStateHi_i[0]] except ValueError: pass # Draw line from hinge to state point. ptHinge_i = imageprocessing.clip_pt( (int(self.ptHinge_i[0]), int(self.ptHinge_i[1])), image.shape) cv2.line(image, ptHinge_i, ptState_i, self.bgra_state, 1) self.windowStabilized.show() self.windowComparison.show()
def draw(self, image): MotionTrackedBodypartPolar.draw(self, image) if (self.params['gui'][self.name]['track']): # Draw the bodypart state position. angle = self.state.angles[0] * self.sense pt = self.R.dot([self.state.radii[0]*np.cos(angle), self.state.radii[0]*np.sin(angle)]) ptState_i = imageprocessing.clip_pt((int(pt[0]+self.params['gui'][self.name]['hinge']['x']), int(pt[1]+self.params['gui'][self.name]['hinge']['y'])), image.shape) cv2.ellipse(image, ptState_i, (2,2), 0, 0, 360, self.bgra_state, 1) # Set a pixel at the min/max state positions. try: angle = self.stateLo_p.angles[0] * self.sense pt = self.R.dot([self.state.radii[0]*np.cos(angle), self.state.radii[0]*np.sin(angle)]) ptStateLo_i = imageprocessing.clip_pt((int(pt[0]+self.params['gui'][self.name]['hinge']['x']), int(pt[1]+self.params['gui'][self.name]['hinge']['y'])), image.shape) angle = self.stateHi_p.angles[0] * self.sense pt = self.R.dot([self.state.radii[0]*np.cos(angle), self.state.radii[0]*np.sin(angle)]) ptStateHi_i = imageprocessing.clip_pt((int(pt[0]+self.params['gui'][self.name]['hinge']['x']), int(pt[1]+self.params['gui'][self.name]['hinge']['y'])), image.shape) # Set the pixels. image[ptStateLo_i[1]][ptStateLo_i[0]] = np.array([255,255,255]) - image[ptStateLo_i[1]][ptStateLo_i[0]] image[ptStateHi_i[1]][ptStateHi_i[0]] = np.array([255,255,255]) - image[ptStateHi_i[1]][ptStateHi_i[0]] except ValueError: pass # Draw line from hinge to state point. ptHinge_i = imageprocessing.clip_pt((int(self.ptHinge_i[0]), int(self.ptHinge_i[1])), image.shape) cv2.line(image, ptHinge_i, ptState_i, self.bgra_state, 1) self.windowStabilized.show() self.windowComparison.show()
def draw(self, image): MotionTrackedBodypartPolar.draw(self, image) if self.params["gui"][self.name]["track"]: # Draw the major and minor edges alternately, until the max number has been reached. bgra = self.bgra for i in range(len(self.state.angles)): angle_b = self.transform_angle_b_from_p(self.state.angles[i]) angle_i = self.transform_angle_i_from_b(angle_b) x0 = self.ptHinge_i[0] + self.params["gui"][self.name]["radius_inner"] * np.cos(angle_i) y0 = self.ptHinge_i[1] + self.params["gui"][self.name]["radius_inner"] * np.sin(angle_i) x1 = self.ptHinge_i[0] + self.params["gui"][self.name]["radius_outer"] * np.cos(angle_i) y1 = self.ptHinge_i[1] + self.params["gui"][self.name]["radius_outer"] * np.sin(angle_i) cv2.line(image, (int(x0), int(y0)), (int(x1), int(y1)), bgra, 1) bgra = tuple(0.5 * np.array(bgra)) self.windowEdges.show()
def draw(self, image): MotionTrackedBodypartPolar.draw(self, image) if (self.params['gui'][self.name]['track']): # Draw the major and minor edges alternately, until the max number has been reached. bgra = self.bgra for i in range(len(self.state.angles)): angle_b = self.transform_angle_b_from_p(self.state.angles[i]) angle_i = self.transform_angle_i_from_b(angle_b) x0 = self.ptHinge_i[0] + self.params['gui'][self.name]['radius_inner'] * np.cos(angle_i) y0 = self.ptHinge_i[1] + self.params['gui'][self.name]['radius_inner'] * np.sin(angle_i) x1 = self.ptHinge_i[0] + self.params['gui'][self.name]['radius_outer'] * np.cos(angle_i) y1 = self.ptHinge_i[1] + self.params['gui'][self.name]['radius_outer'] * np.sin(angle_i) cv2.line(image, (int(x0),int(y0)), (int(x1),int(y1)), bgra, 1) bgra = tuple(0.5*np.array(bgra)) self.windowEdges.show()
def draw(self, image): MotionTrackedBodypartPolar.draw(self, image) if (self.params['gui'][self.name]['track']) and (len(self.state.angles)>0): # Draw the bodypart state position. angle = self.state.angles[0] * self.sense pt = self.R.dot([self.state.radii[0]*np.cos(angle), self.state.radii[0]*np.sin(angle)]) ptState_i = imageprocessing.clip_pt((int(pt[0]+self.params['gui'][self.name]['hinge']['x']), int(pt[1]+self.params['gui'][self.name]['hinge']['y'])), image.shape) cv2.ellipse(image, ptState_i, (2,2), 0, 0, 360, self.bgra_state, 1) # Draw line from hinge to state point. ptHinge_i = imageprocessing.clip_pt((int(self.ptHinge_i[0]), int(self.ptHinge_i[1])), image.shape) cv2.line(image, ptHinge_i, ptState_i, self.bgra_state, 1) self.windowTip.show()
def draw(self, image): MotionTrackedBodypartPolar.draw(self, image) if (self.params['gui'][self.name]['track']) and (len(self.state.angles)>0): # Draw the bodypart state position. angle = self.state.angles[0] * self.sense pt = self.R.dot([self.state.radii[0]*np.cos(angle), self.state.radii[0]*np.sin(angle)]) ptState_i = imageprocessing.clip_pt((int(pt[0]+self.params['gui'][self.name]['hinge']['x']), int(pt[1]+self.params['gui'][self.name]['hinge']['y'])), image.shape) cv2.ellipse(image, ptState_i, (2,2), 0, 0, 360, self.bgra_state, 1) # Draw line from hinge to state point. ptHinge_i = imageprocessing.clip_pt((int(self.ptHinge_i[0]), int(self.ptHinge_i[1])), image.shape) cv2.line(image, ptHinge_i, ptState_i, self.bgra_state, 1) self.windowTip.show()