Mercurial > hg > nsaunier > traffic-intelligence
comparison python/moving.py @ 982:51d8406b2489
corrected bug when not using a homography and using a mask for CLEAR MOT metrics
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Tue, 27 Feb 2018 16:45:46 -0500 |
| parents | 184f1dd307f9 |
| children | f026ce2af637 |
comparison
equal
deleted
inserted
replaced
| 981:c3e690c5536e | 982:51d8406b2489 |
|---|---|
| 1194 restricted to time interval inter''' | 1194 restricted to time interval inter''' |
| 1195 intersection = TimeInterval.intersection(inter, self.getTimeInterval()) | 1195 intersection = TimeInterval.intersection(inter, self.getTimeInterval()) |
| 1196 if not intersection.empty(): | 1196 if not intersection.empty(): |
| 1197 trajectoryInterval = TimeInterval(intersection.first-self.getFirstInstant(), intersection.last-self.getFirstInstant()) | 1197 trajectoryInterval = TimeInterval(intersection.first-self.getFirstInstant(), intersection.last-self.getFirstInstant()) |
| 1198 obj = MovingObject(self.num, intersection, self.positions.getTrajectoryInInterval(trajectoryInterval), self.geometry, self.userType) | 1198 obj = MovingObject(self.num, intersection, self.positions.getTrajectoryInInterval(trajectoryInterval), self.geometry, self.userType) |
| 1199 if self.velocities: | 1199 if self.velocities is not None: |
| 1200 obj.velocities = self.velocities.getTrajectoryInInterval(trajectoryInterval) | 1200 obj.velocities = self.velocities.getTrajectoryInInterval(trajectoryInterval) |
| 1201 return obj | 1201 return obj |
| 1202 else: | 1202 else: |
| 1203 print('The object does not exist at {}'.format(inter)) | 1203 print('The object does not exist at {}'.format(inter)) |
| 1204 return None | 1204 return None |
| 1210 self.projectedPositions = self.positions.homographyProject(homography) | 1210 self.projectedPositions = self.positions.homographyProject(homography) |
| 1211 else: | 1211 else: |
| 1212 self.projectedPositions = self.positions | 1212 self.projectedPositions = self.positions |
| 1213 def inMask(positions, i, mask): | 1213 def inMask(positions, i, mask): |
| 1214 p = positions[i] | 1214 p = positions[i] |
| 1215 return mask[p.y, p.x] != 0. | 1215 return mask[int(p.y), int(p.x)] != 0. |
| 1216 | 1216 |
| 1217 #subTimeIntervals self.getFirstInstant()+i | 1217 #subTimeIntervals self.getFirstInstant()+i |
| 1218 filteredIndices = [inMask(self.projectedPositions, i, mask) for i in range(int(self.length()))] | 1218 filteredIndices = [inMask(self.projectedPositions, i, mask) for i in range(int(self.length()))] |
| 1219 # 'connected components' in subTimeIntervals | 1219 # 'connected components' in subTimeIntervals |
| 1220 l = 0 | 1220 l = 0 |
