Add a new tracking target.
(self, image, rect, data=None)
| 76 | self.frame_points = [] |
| 77 | |
| 78 | def add_target(self, image, rect, data=None): |
| 79 | '''Add a new tracking target.''' |
| 80 | x0, y0, x1, y1 = rect |
| 81 | raw_points, raw_descrs = self.detect_features(image) |
| 82 | points, descs = [], [] |
| 83 | for kp, desc in zip(raw_points, raw_descrs): |
| 84 | x, y = kp.pt |
| 85 | if x0 <= x <= x1 and y0 <= y <= y1: |
| 86 | points.append(kp) |
| 87 | descs.append(desc) |
| 88 | descs = np.uint8(descs) |
| 89 | self.matcher.add([descs]) |
| 90 | target = PlanarTarget(image = image, rect=rect, keypoints = points, descrs=descs, data=data) |
| 91 | self.targets.append(target) |
| 92 | |
| 93 | def clear(self): |
| 94 | '''Remove all targets''' |
no test coverage detected