Mercurial Hosting > traffic-intelligence
diff python/cvutils.py @ 1015:cf9d29de3dbf
merge With Pr Saunier's code
author | Wendlasida |
---|---|
date | Mon, 04 Jun 2018 11:25:49 -0400 |
parents | a5f2309bb1ff |
children | 16932cefabc1 |
line wrap: on
line diff
--- a/python/cvutils.py Fri Jun 01 17:32:52 2018 -0400 +++ b/python/cvutils.py Mon Jun 04 11:25:49 2018 -0400 @@ -18,7 +18,7 @@ from sys import stdout from os import listdir -from subprocess import check_call +from subprocess import run from math import floor, log10, ceil from numpy import dot, array, append, float32, loadtxt, savetxt, append, zeros, ones, identity, abs as npabs, logical_and, unravel_index, sum as npsum, isnan, mgrid, median, floor as npfloor, ceil as npceil @@ -282,7 +282,7 @@ else: return None - def tracking(configFilename, grouping, videoFilename = None, dbFilename = None, homographyFilename = None, maskFilename = None, undistort = False, intrinsicCameraMatrix = None, distortionCoefficients = None): + def tracking(configFilename, grouping, videoFilename = None, dbFilename = None, homographyFilename = None, maskFilename = None, undistort = False, intrinsicCameraMatrix = None, distortionCoefficients = None, dryRun = False): '''Runs the tracker in a subprocess if grouping is True, it is feature grouping otherwise it is feature tracking''' @@ -303,14 +303,16 @@ if undistort: cmd += ['--undistort', 'true'] if intrinsicCameraMatrix is not None: # we currently have to save a file - pass#from time import time - #savetxt - #cmd += [] + from time import time + intrinsicCameraFilename = '/tmp/intrinsic-{}.txt'.format(time()) + savetxt(intrinsicCameraFilename, intrinsicCameraMatrix) + cmd += ['--intrinsic-camera-filename', intrinsicCameraFilename] if distortionCoefficients is not None: - cmd += ['--distortion-coefficients', ' '.join([str(x) for x in distortionCoefficients])] - - #check_call([trackerExe, configFilename, trackingMode]) # , stderr = out, shell = True - print(cmd) # , stderr = out, shell = True + cmd += ['--distortion-coefficients '+' '.join([str(x) for x in distortionCoefficients])] + if dryRun: + print(cmd) + else: + run(cmd) def displayTrajectories(videoFilename, objects, boundingBoxes = {}, homography = None, firstFrameNum = 0, lastFrameNumArg = None, printFrames = True, rescale = 1., nFramesStep = 1, saveAllImages = False, nZerosFilenameArg = None, undistort = False, intrinsicCameraMatrix = None, distortionCoefficients = None, undistortedImageMultiplication = 1., annotations = [], gtMatches = {}, toMatches = {}, colorBlind = False): '''Displays the objects overlaid frame by frame over the video '''