Mercurial Hosting > traffic-intelligence
changeset 218:b5772df11b37
corrected bugs to load objects and display trajectories over videos
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Thu, 21 Jun 2012 18:04:11 -0400 |
parents | ba71924cadf5 |
children | 841a1714f702 |
files | python/cvutils.py python/storage.py |
diffstat | 2 files changed, 14 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/python/cvutils.py Thu Jun 21 15:18:41 2012 -0400 +++ b/python/cvutils.py Thu Jun 21 18:04:11 2012 -0400 @@ -129,16 +129,18 @@ capture = cv2.VideoCapture(videoFilename) if capture.isOpened(): key = -1 - frameNum = 1 + frameNum = 0 while key!= 113: # 'q' ret, img = capture.read() if ret: print(frameNum) for obj in objects: if obj.existsAtInstant(frameNum): - #obj.getTimeInterval() - if homography != None and obj.getFirstInstant() == frameNum: - obj.projectedPositions = obj.positions.project(homography) + if obj.getFirstInstant() == frameNum: + if homography != None: + obj.projectedPositions = obj.positions.project(homography) + else: + obj.projectedPositions = obj.positions draw(img, obj.projectedPositions, cvRed, frameNum-obj.getFirstInstant()) cv2.putText(img, '{0}'.format(obj.num), obj.projectedPositions[frameNum-obj.getFirstInstant()].astuple(), cv2.FONT_HERSHEY_PLAIN, 1, cvRed) cv2.imshow('frame', img)
--- a/python/storage.py Thu Jun 21 15:18:41 2012 -0400 +++ b/python/storage.py Thu Jun 21 18:04:11 2012 -0400 @@ -81,18 +81,18 @@ if type(objectNumbers) == int: if objectNumbers == -1: cursor.execute('SELECT * from positions order by trajectory_id, frame_number') - else: - cursor.execute('SELECT * from positions where trajectory_id between 0 and {0} order by trajectory_id, frame_number'.format(objectNumbers)) - elif type(objectNumbers) == list: - cursor.execute('SELECT * from positions where trajectory_id in ('+', '.join([str(n) for n in objectNumbers])+') order by trajectory_id, frame_number') + else: + cursor.execute('SELECT * from positions where trajectory_id between 0 and {0} order by trajectory_id, frame_number'.format(objectNumbers)) + elif type(objectNumbers) == list: + cursor.execute('SELECT * from positions where trajectory_id in ('+', '.join([str(n) for n in objectNumbers])+') order by trajectory_id, frame_number') elif trajectoryType == 'object': if type(objectNumbers) == int: if objectNumbers == -1: cursor.execute('SELECT OF.object_id, P.frame_number, avg(P.x_coordinate), avg(P.y_coordinate) from positions P, objects_features OF where P.trajectory_id = OF.trajectory_id group by object_id, frame_number') - else: - cursor.execute('SELECT OF.object_id, P.frame_number, avg(P.x_coordinate), avg(P.y_coordinate) from positions P, objects_features OF where P.trajectory_id = OF.trajectory_id and trajectory_id between 0 and {0} group by object_id, frame_number'.format(objectNumbers)) - elif type(objectNumbers) == list: - cursor.execute('SELECT OF.object_id, P.frame_number, avg(P.x_coordinate), avg(P.y_coordinate) from positions P, objects_features OF where P.trajectory_id = OF.trajectory_id and trajectory_id in ('+', '.join([str(n) for n in objectNumbers])+') group by object_id, frame_number') + else: + cursor.execute('SELECT OF.object_id, P.frame_number, avg(P.x_coordinate), avg(P.y_coordinate) from positions P, objects_features OF where P.trajectory_id = OF.trajectory_id and OF.object_id between 0 and {0} group by object_id, frame_number'.format(objectNumbers)) + elif type(objectNumbers) == list: + cursor.execute('SELECT OF.object_id, P.frame_number, avg(P.x_coordinate), avg(P.y_coordinate) from positions P, objects_features OF where P.trajectory_id = OF.trajectory_id and OF.object_id in ('+', '.join([str(n) for n in objectNumbers])+') group by object_id, frame_number') else: print('no trajectory type was chosen') except sqlite3.OperationalError as err: