- def transform(self, image):
- image_s = pcf.hough(image.size, image.tostring(), self.initial_angle, self.dt)
- image = Image.fromstring('L', image.size, image_s)
- return image
+ This class stores the transformed image and metainformation.
+ """
+ def __init__(self, size, dt, init_angle, image):
+ self.size = size # this is a tuple (width, height)
+ self.dt = dt # this is the angle step in hough transform
+ self.initial_angle = init_angle
+ self.image = image
+
+ @classmethod
+ def Transform(cls, image):
+ """Create Hough transform of the *image* with default parameters."""
+ # TODO rename to transform?
+ size = image.size
+ dt = pi / size[1]
+ initial_angle = (pi / 4) + (dt / 2)
+ image_s = pcf.hough(size, image.tostring(), initial_angle, dt)
+ image_t = Image.fromstring('L', size, image_s)
+ return cls(size, dt, initial_angle, image_t)
+
+ def apply_filter(self, filter_f):
+ return Hough(self.size, self.dt, self.initial_angle,
+ filter_f(self.image))