projekty
/
imago.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
04fed00
)
better vector class
author
Tomas Musil
<tomik.musil@gmail.com>
Wed, 24 Oct 2012 13:01:00 +0000
(15:01 +0200)
committer
Tomas Musil
<tomik.musil@gmail.com>
Wed, 24 Oct 2012 13:01:00 +0000
(15:01 +0200)
gridf.py
patch
|
blob
|
history
diff --git
a/gridf.py
b/gridf.py
index
50beb81
..
23e4d04
100644
(file)
--- a/
gridf.py
+++ b/
gridf.py
@@
-16,7
+16,7
@@
class MyGaussianBlur(ImageFilter.Filter):
def filter(self, image):
return image.gaussian_blur(self.radius)
def filter(self, image):
return image.gaussian_blur(self.radius)
-class V():
+class V(
object
):
def __init__(self, x, y):
self.x = x
self.y = y
def __init__(self, x, y):
self.x = x
self.y = y
@@
-30,16
+30,29
@@
class V():
def __rmul__(self, other):
return V(other * self.x, other * self.y)
def __rmul__(self, other):
return V(other * self.x, other * self.y)
- def
t
(self):
- return
(self.x, self.y)
+ def
__len__
(self):
+ return
2;
+ def __getitem__(self, key):
+ if key == 0:
+ return self.x
+ elif key == 1:
+ return self.y
+ elif type(key) != int:
+ raise TypeError("V indices must be integers")
+ else:
+ raise KeyError("V index ({}) out of range".format(key))
+
+ def __iter__(self):
+ yield self.x
+ yield self.y
+
+ @property
def normal(self):
return V(-self.y, self.x)
def projection(point, line, vector):
def normal(self):
return V(-self.y, self.x)
def projection(point, line, vector):
- n = vector.normal()
- l2 = g_line(point.t(), (point + n).t())
- return V(*intersection(l2, g_line(*line)))
+ return V(*intersection(g_line(point, point + vector.normal), g_line(*line)))
def error_surface(lines, a, b, c, d, hough, size, v1):
import matplotlib.pyplot as plt
def error_surface(lines, a, b, c, d, hough, size, v1):
import matplotlib.pyplot as plt
@@
-132,8
+145,8
@@
def find(lines, size, l1, l2, bounds, hough, do_something):
return grid, grid_lines
def get_grid(a, b, c, d, hough, size):
return grid, grid_lines
def get_grid(a, b, c, d, hough, size):
- l1 = hough.lines_from_list([a
.t(), b.t()
])
- l2 = hough.lines_from_list([c
.t(), d.t()
])
+ l1 = hough.lines_from_list([a
, b
])
+ l2 = hough.lines_from_list([c
, d
])
c = intersections_from_angl_dist([l1, l2], size, get_all=True)
#TODO do something when a corner is outside the image
corners = (c[0] + c[1])
c = intersections_from_angl_dist([l1, l2], size, get_all=True)
#TODO do something when a corner is outside the image
corners = (c[0] + c[1])