Mercurial > hg > nsaunier > traffic-intelligence
comparison python/moving.py @ 98:b85912ab4064
refactored projection functions
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Tue, 12 Jul 2011 16:43:33 -0400 |
| parents | b3a1c26e2f22 |
| children | 13187af8622d |
comparison
equal
deleted
inserted
replaced
| 97:b3a1c26e2f22 | 98:b85912ab4064 |
|---|---|
| 1 #! /usr/bin/env python | 1 #! /usr/bin/env python |
| 2 '''Libraries for moving objects, trajectories...''' | 2 '''Libraries for moving objects, trajectories...''' |
| 3 | 3 |
| 4 import utils; | 4 import utils; |
| 5 import cvutils; | |
| 5 | 6 |
| 6 from math import sqrt, hypot; | 7 from math import sqrt, hypot; |
| 7 | 8 |
| 8 #from shapely.geometry import Polygon | 9 #from shapely.geometry import Polygon |
| 9 | 10 |
| 120 | 121 |
| 121 def __str__(self): | 122 def __str__(self): |
| 122 return '(%f,%f)'%(self.x,self.y) | 123 return '(%f,%f)'%(self.x,self.y) |
| 123 | 124 |
| 124 def __repr__(self): | 125 def __repr__(self): |
| 125 return str(self) | 126 return self.__str__() |
| 126 | 127 |
| 127 def __sub__(self, other): | 128 def __sub__(self, other): |
| 128 return Point(self.x-other.x, self.y-other.y) | 129 return Point(self.x-other.x, self.y-other.y) |
| 129 | 130 |
| 130 def draw(self, options = ''): | 131 def draw(self, options = ''): |
| 139 '2-norm distance (Euclidean distance)' | 140 '2-norm distance (Euclidean distance)' |
| 140 return sqrt(self.norm2Squared()) | 141 return sqrt(self.norm2Squared()) |
| 141 | 142 |
| 142 def aslist(self): | 143 def aslist(self): |
| 143 return [self.x, self.y] | 144 return [self.x, self.y] |
| 145 | |
| 146 def project(self, homography): | |
| 147 from numpy.core.multiarray import array | |
| 148 projected = cvutils.projectArray(homography, array([[self.x], [self.y]])) | |
| 149 return Point(projected[0], projected[1]) | |
| 144 | 150 |
| 145 def inPolygon(self, poly): | 151 def inPolygon(self, poly): |
| 146 '''Returns if the point x, y is inside the polygon. | 152 '''Returns if the point x, y is inside the polygon. |
| 147 The polygon is defined by the ordered list of points in poly | 153 The polygon is defined by the ordered list of points in poly |
| 148 | 154 |
