changeset 853:95e7622b11be

added option to limit the number of loaded objects
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 22 Sep 2016 16:49:43 -0400
parents 45a53542e046
children 33d296984dd8
files scripts/display-trajectories.py
diffstat 1 files changed, 14 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/display-trajectories.py	Tue Sep 20 16:59:24 2016 -0400
+++ b/scripts/display-trajectories.py	Thu Sep 22 16:49:43 2016 -0400
@@ -20,12 +20,13 @@
 parser.add_argument('-f', dest = 'firstFrameNum', help = 'number of first frame number to display', type = int)
 parser.add_argument('-r', dest = 'rescale', help = 'rescaling factor for the displayed image', default = 1., type = float)
 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('--last-frame', dest = 'lastFrameNum', help = 'number of last frame number to save (for image saving, no display is made)', type = int)
 
 args = parser.parse_args()
 
-if args.configFilename: # consider there is a configuration file
+if args.configFilename is not None: # consider there is a configuration file
     params = storage.ProcessParameters(args.configFilename)
     videoFilename = params.videoFilename
     databaseFilename = params.databaseFilename
@@ -46,22 +47,26 @@
     undistortedImageMultiplication = None
     firstFrameNum = 0
 
-if not args.configFilename and args.videoFilename is not None:
+if args.configFilename is None and args.videoFilename is not None:
     videoFilename = args.videoFilename
-if not args.configFilename and args.databaseFilename is not None:
+if args.configFilename is None and args.databaseFilename is not None:
     databaseFilename = args.databaseFilename
-if not args.configFilename and args.homographyFilename is not None:
+if args.configFilename is None and args.homographyFilename is not None:
     homography = inv(loadtxt(args.homographyFilename))            
-if not args.configFilename and args.intrinsicCameraMatrixFilename is not None:
+if args.configFilename is None and args.intrinsicCameraMatrixFilename is not None:
     intrinsicCameraMatrix = loadtxt(args.intrinsicCameraMatrixFilename)
-if not args.configFilename and args.distortionCoefficients is not None:
+if args.configFilename is None and args.distortionCoefficients is not None:
     distortionCoefficients = args.distortionCoefficients
-if not args.configFilename and args.undistortedImageMultiplication is not None:
+if args.configFilename is None and args.undistortedImageMultiplication is not None:
     undistortedImageMultiplication = args.undistortedImageMultiplication
+
 if args.firstFrameNum is not None:
     firstFrameNum = args.firstFrameNum
-
+if args.nObjects is not None:
+    nObjects = args.nObjects
+else:
+    nObjects = None
 
-objects = storage.loadTrajectoriesFromSqlite(databaseFilename, args.trajectoryType)
+objects = storage.loadTrajectoriesFromSqlite(databaseFilename, args.trajectoryType, nObjects)
 boundingBoxes = storage.loadBoundingBoxTableForDisplay(databaseFilename)
 cvutils.displayTrajectories(videoFilename, objects, boundingBoxes, homography, firstFrameNum, args.lastFrameNum, rescale = args.rescale, nFramesStep = args.nFramesStep, saveAllImages = args.saveAllImages, undistort = (undistort or args.undistort), intrinsicCameraMatrix = intrinsicCameraMatrix, distortionCoefficients = distortionCoefficients, undistortedImageMultiplication = undistortedImageMultiplication)