Mercurial Hosting > 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 |