From: Tomas Musil Date: Mon, 30 Jun 2014 15:18:19 +0000 (+0200) Subject: more lines X-Git-Url: http://git.tomasm.cz/imago.git/commitdiff_plain/b58e72da34c8d6ef168a6f43fba1345fd6bad31e more lines --- diff --git a/new_geometry.py b/new_geometry.py index a9b8bdc..148430b 100644 --- a/new_geometry.py +++ b/new_geometry.py @@ -27,8 +27,7 @@ def fill(l1, l2, lh, n): return (fill(l1, lm, (lh1, lhc), n / 2) + [lm] + fill(lm, l2, (lhc, lh2), n / 2)) - elif n == 2: - # TODO fine tune this + elif n == 2 or n == 8: nlt = intersection((lh1, l21), (l11, l22)) nlb = intersection((lh1, l22), (l12, l21)) nrt = intersection((lh2, l11), (l12, l21)) @@ -37,7 +36,14 @@ def fill(l1, l2, lh, n): intersection((l12, l22), (nlt, nlb))) nr = (intersection((l11, l21), (nrt, nrb)), intersection((l12, l22), (nrt, nrb))) - return [nl, nr] + if n == 2: + return [nl, nr] + elif n == 8: + return (fill(l1, nl, lh, 2) + + [nl] + + fill(nl, nr, lh, 2) + + [nr] + + fill(nr, l2, lh, 2)) def expand_right(grid, middle): return expand(grid[-2], grid[-1], diff --git a/ransac_grid.py b/ransac_grid.py index df83b7f..4182555 100644 --- a/ransac_grid.py +++ b/ransac_grid.py @@ -35,7 +35,7 @@ size = (520, 390) def generate_models(sample, middle): sgrid = map(lambda l:linef.line_from_angl_dist(l, size), sample) lh = (gm.intersection(sgrid[0], middle), gm.intersection(sgrid[1], middle)) - for f in [0, 1, 2, 3, 5]: + for f in [0, 1, 2, 3, 5, 7, 8, 11, 15, 17]: grid = gm.fill(sgrid[0], sgrid[1], lh , f) grid = [sgrid[0]] + grid + [sgrid[1]] for s in xrange(17 - f):