changeset 981:c3e690c5536e

corrected bug in display trajectories
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Tue, 27 Feb 2018 15:24:57 -0500
parents 23f98ebb113f
children 51d8406b2489
files python/cvutils.py scripts/display-trajectories.py
diffstat 2 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/python/cvutils.py	Mon Feb 19 16:32:59 2018 -0500
+++ b/python/cvutils.py	Tue Feb 27 15:24:57 2018 -0500
@@ -28,7 +28,7 @@
 
 videoFilenameExtensions = ['mov', 'avi', 'mp4', 'MOV', 'AVI', 'MP4']
 
-#import aggdraw # agg on top of PIL (antialiased drawing)
+#importaggdraw # agg on top of PIL (antialiased drawing)
 
 
 cvRed = {'default': (0,0,255),
@@ -318,10 +318,14 @@
                 lastFrameNum = float("inf")
             else:
                 lastFrameNum = lastFrameNumArg
-            if nZerosFilenameArg is None:
-                nZerosFilename = int(ceil(log10(lastFrameNum)))
-            else:
-                nZerosFilename = nZerosFilenameArg
+            if saveAllImages:
+                if nZerosFilenameArg is None:
+                    if lastFrameNumArg is None:
+                        nZerosFilename = int(ceil(log10(objects[-1].getLastInstant())))
+                    else:
+                        nZerosFilename = int(ceil(log10(lastFrameNum)))
+                else:
+                    nZerosFilename = nZerosFilenameArg
             while ret and not quitKey(key) and frameNum <= lastFrameNum:
                 ret, img = capture.read()
                 if ret:
--- a/scripts/display-trajectories.py	Mon Feb 19 16:32:59 2018 -0500
+++ b/scripts/display-trajectories.py	Tue Feb 27 15:24:57 2018 -0500
@@ -23,6 +23,7 @@
 parser.add_argument('-s', dest = 'nFramesStep', help = 'number of frames between each display', default = 1, type = int)
 parser.add_argument('-n', dest = 'nObjects', help = 'number of objects to display', type = int)
 parser.add_argument('--save-images', dest = 'saveAllImages', help = 'save all images', action = 'store_true')
+parser.add_argument('--nzeros', dest = 'nZerosFilenameArg', help = 'number of digits in filenames', type = int)
 
 args = parser.parse_args()
 
@@ -45,4 +46,4 @@
 
 objects = storage.loadTrajectoriesFromSqlite(databaseFilename, args.trajectoryType, nObjects)
 boundingBoxes = storage.loadBoundingBoxTableForDisplay(databaseFilename)
-cvutils.displayTrajectories(videoFilename, objects, boundingBoxes, invHomography, firstFrameNum, args.lastFrameNum, rescale = args.rescale, nFramesStep = args.nFramesStep, saveAllImages = args.saveAllImages, undistort = (undistort or args.undistort), intrinsicCameraMatrix = intrinsicCameraMatrix, distortionCoefficients = distortionCoefficients, undistortedImageMultiplication = undistortedImageMultiplication)
+cvutils.displayTrajectories(videoFilename, objects, boundingBoxes, invHomography, firstFrameNum, args.lastFrameNum, rescale = args.rescale, nFramesStep = args.nFramesStep, saveAllImages = args.saveAllImages, nZerosFilenameArg = args.nZerosFilenameArg, undistort = (undistort or args.undistort), intrinsicCameraMatrix = intrinsicCameraMatrix, distortionCoefficients = distortionCoefficients, undistortedImageMultiplication = undistortedImageMultiplication)