X-Git-Url: http://git.tomasm.cz/imago.git/blobdiff_plain/be7942c3c75a64979e60b50cf76aa1000ec57413..795740177a0fe3b6294f41b493ac0471ab077c1a:/src/gridf3.py diff --git a/src/gridf3.py b/src/gridf3.py index 6f6f386..5f90cb8 100644 --- a/src/gridf3.py +++ b/src/gridf3.py @@ -2,9 +2,10 @@ import random from math import sqrt from intrsc import intersections_from_angl_dist -import linef as linef -import ransac as ransac -import manual as manual +import linef +import params +import ransac +import manual_lines as manual from geometry import l2ad # TODO comments, refactoring, move methods to appropriate modules @@ -172,7 +173,6 @@ def score(lines, points): def find(lines, size, l1, l2, bounds, hough, show_all, do_something, logger): - logger("finding the grid") new_lines1 = map(lambda l: Line.from_ad(l, size), lines[0]) new_lines2 = map(lambda l: Line.from_ad(l, size), lines[1]) for l1 in new_lines1: @@ -191,8 +191,10 @@ def find(lines, size, l1, l2, bounds, hough, show_all, do_something, logger): return sqrt(x * x + y * y) for n_tries in xrange(3): + logger("finding the diagonals") model = Diagonal_model(points) - diag_lines = ransac.ransac_multi(6, points, 2, 800, model=model) + diag_lines = ransac.ransac_multi(6, points, 2, + params.ransac_diagonal_iter, model=model) diag_lines = [l[0] for l in diag_lines] centers = [] cen_lin = [] @@ -206,7 +208,7 @@ def find(lines, size, l1, l2, bounds, hough, show_all, do_something, logger): if show_all: import matplotlib.pyplot as pyplot - import Image + from PIL import Image def plot_line_g((a, b, c), max_x): find_y = lambda x: - (c + a * x) / b @@ -227,6 +229,7 @@ def find(lines, size, l1, l2, bounds, hough, show_all, do_something, logger): image_p = Image.fromstring('RGB', size_f, buff, 'raw') do_something(image_p, "finding diagonals") + logger("finding the grid") data = sum(points, []) # TODO what if lines are missing? sc = float("inf")