Mercurial > hg > nsaunier > traffic-intelligence
diff scripts/classify-objects.py @ 947:053484e08947
found a more elegant solution, making a copy of the list to iterate
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Fri, 21 Jul 2017 11:31:42 -0400 |
| parents | e5970606066f |
| children | 64259b9885bf |
line wrap: on
line diff
--- a/scripts/classify-objects.py Fri Jul 21 11:25:20 2017 -0400 +++ b/scripts/classify-objects.py Fri Jul 21 11:31:42 2017 -0400 @@ -98,19 +98,19 @@ print('frame number: {}'.format(frameNum)) #if undistort: # img = cv2.remap(img, map1, map2, interpolation=cv2.INTER_LINEAR) - for obj in objects: + for obj in objects[:]: if obj.getFirstInstant() <= frameNum: # if images are skipped obj.initClassifyUserTypeHoGSVM(speedAggregationFunc, pedBikeCarSVM, bikeCarSVM, classifierParams.maxPedestrianSpeed, classifierParams.maxCyclistSpeed, classifierParams.nFramesIgnoreAtEnds, invHomography, intrinsicCameraMatrix, distortionCoefficients) currentObjects.append(obj) - objects[:] = [obj for obj in objects if obj.getFirstInstant() > frameNum] + objects.remove(obj) - for obj in currentObjects: + for obj in currentObjects[:]: if obj.getLastInstant() <= frameNum: # if images are skipped obj.classifyUserTypeHoGSVM(minSpeedEquiprobable = classifierParams.minSpeedEquiprobable, speedProbabilities = speedProbabilities, maxPercentUnknown = classifierParams.maxPercentUnknown) pastObjects.append(obj) + currentObjects.remove(obj) else: obj.classifyUserTypeHoGSVMAtInstant(img, frameNum, width, height, classifierParams.percentIncreaseCrop, classifierParams.percentIncreaseCrop, classifierParams.minNPixels, classifierParams.hogRescaleSize, classifierParams.hogNOrientations, classifierParams.hogNPixelsPerCell, classifierParams.hogNCellsPerBlock, classifierParams.hogBlockNorm) - currentObjects[:] = [obj for obj in objects if obj.getLastInstant() > frameNum] frameNum += 1 for obj in currentObjects:
