From f2cbb185a9e09efb970203c376e5abcaa872c867 Mon Sep 17 00:00:00 2001 From: Tomas Musil Date: Wed, 18 Apr 2012 01:29:04 +0200 Subject: [PATCH 1/1] minor corrections --- filters.py | 4 ++-- hough.py | 29 ----------------------------- imago.py | 34 ++++++++++------------------------ 3 files changed, 12 insertions(+), 55 deletions(-) diff --git a/filters.py b/filters.py index 377fa2e..e770724 100644 --- a/filters.py +++ b/filters.py @@ -74,8 +74,8 @@ def components(image): components = [] comp_counter = 0 - for x in xrange(1, image.size[0] - 1): - for y in xrange(1, image.size[1] - 1): + for y in xrange(1, image.size[1] - 1): + for x in xrange(1, image.size[0] - 1): if image_l[x, y]: s = {0} s.add(new_image_l[x - 1, y - 1]) diff --git a/hough.py b/hough.py index d01416a..a8f64b2 100644 --- a/hough.py +++ b/hough.py @@ -59,35 +59,6 @@ class Hough: lines.append(self.angle_distance((x, y))) return lines - def find_angle_distance(self, image): - image_l = image.load() - - points = [] - - count = 0 - point_x = 0 - point_y = 0 - for x in xrange(image.size[0] / 2): - for y in xrange(image.size[1] / 2, image.size[1]): - if image_l[x, y]: - count += 1 - point_x += x - point_y += y - points.append((float(point_x) / count, float(point_y) / count)) - - count = 0 - point_x = 0 - point_y = 0 - for x in xrange(image.size[0] / 2, image.size[0]): - for y in xrange(image.size[1] / 2, image.size[1]): - if image_l[x, y]: - count += 1 - point_x += x - point_y += y - points.append((float(point_x) / count, float(point_y) / count)) - - return [self.angle_distance(p) for p in points] - def angle_distance(self, point): return (self.dt * point[1] + self.initial_angle, point[0] - self.size[0] / 2) diff --git a/imago.py b/imago.py index 87b522e..f3a9eb7 100755 --- a/imago.py +++ b/imago.py @@ -10,7 +10,7 @@ import argparse try: import Image, ImageDraw except ImportError, msg: - print >>sys.stderr, msg + print >> sys.stderr, msg sys.exit(1) import im_debug @@ -25,9 +25,9 @@ def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('file', metavar='file', nargs=1, - help="image to anlyse") + help="image to analyse") parser.add_argument('-w', type=int, default=640, - help="scales image to the specified width before analysis") + help="scale image to the specified width before analysis") parser.add_argument('-d', '--debug', dest='show_all', action='store_true', help="show every step of the computation") parser.add_argument('-s', '--save', dest='do_something', action='store_const', @@ -41,7 +41,7 @@ def main(): try: image = Image.open(args.file[0]) except IOError, msg: - print >>sys.stderr, msg + print >> sys.stderr, msg return 1 if image.size[0] > args.w: image = image.resize((args.w, int((float(args.w)/image.size[0]) * @@ -88,9 +88,13 @@ def main(): im_h3 = filters.high_pass(im_hough2, 120) if show_all: - do_something(im_h3, "third high pass filters") + do_something(im_h3, "third high pass filter") - lines = hough2.find_angle_distance(im_h3) + im_h3 = filters.components(im_h3) + if show_all: + do_something(im_h3, "components centers 2") + + lines = hough2.all_lines(im_h3) im_lines = Image.new('L', im_h2.size) @@ -105,10 +109,6 @@ def main(): if show_all: do_something(im_c, "first hough x lines") - collapse(im_c) - if show_all: - do_something(im_c, "optimalised hough") - lines = hough1.all_lines(im_c) draw = ImageDraw.Draw(image) for line in lines: @@ -127,20 +127,6 @@ def image_save(image, title=''): image.save(filename, 'JPEG') Saving_num += 1 -def collapse(image): - #HACK - im_l = image.load() - last = False - for y in xrange(image.size[1]): - for x in xrange(image.size[0]): - if im_l[x, y] and last: - im_l[x, y] = 0 - last = False - elif im_l[x, y]: - last = True - elif last: - last = False - def combine(image1, image2): im_l1 = image1.load() im_l2 = image2.load() -- 2.4.2