annotate scripts/play-video.py @ 372:349eb1e09f45

Cleaned the methods/functions indicating if a point is in a polygon In general, shapely should be used, especially for lots of points: from shapely.geometry import Polygon, Point poly = Polygon(array([[0,0],[0,1],[1,1],[1,0]])) p = Point(0.5,0.5) poly.contains(p) -> returns True poly.contains(Point(-1,-1)) -> returns False You can convert a moving.Point to a shapely point: p = moving.Point(1,2) p.asShapely() returns the equivalent shapely point If you have several points to test, use moving.pointsInPolygon(points, polygon) where points are moving.Point and polygon is a shapely polygon.
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Tue, 16 Jul 2013 17:00:17 -0400
parents 1d90e9080cb2
children 1917db662aa7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
305
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
1 #! /usr/bin/env python
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
2
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
3 import sys,getopt
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
4 import cvutils
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
5
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
6 options, args = getopt.getopt(sys.argv[1:], 'hi:f:',['help', 'fps='])
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
7 options = dict(options)
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
8 print options
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
9
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
10 if '--help' in options.keys() or '-h' in options.keys() or len(sys.argv) == 1:
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
11 print('Usage: '+sys.argv[0]+' --help|-h -i video-filename [-f first_frame] [--fps frame_rate]')
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
12 sys.exit()
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
13
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
14 firstFrameNum = 0
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
15 if '-f' in options.keys():
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
16 firstFrameNum = int(options['-f'])
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
17
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
18 frameRate = -1
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
19 if '--fps' in options.keys():
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
20 frameRate = int(options['--fps'])
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
21
ca9131968bce added sample to replay video
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
diff changeset
22 cvutils.playVideo(options['-i'], firstFrameNum, frameRate)