catch geometric errors
[imago.git] / src / intrsc.py
index 62f1498..91801fe 100644 (file)
@@ -4,7 +4,7 @@ from math import cos, tan, pi
 from operator import itemgetter
 import colorsys
 
-import ImageDraw
+from PIL import ImageDraw
 
 import filters
 import k_means
@@ -68,7 +68,7 @@ def board(image, intersections, show_all, do_something, logger):
 
     if show_all:
         import matplotlib.pyplot as pyplot
-        import Image
+        from PIL import Image
         fig = pyplot.figure(figsize=(8, 6))
         luma = [s[0] for s in board_raw]
         saturation = [s[1] for s in board_raw]
@@ -94,8 +94,10 @@ def board(image, intersections, show_all, do_something, logger):
     #color_data = [(norm_s0(s[0]), norm_s1(s[1])) for s in board_raw]
     color_data = [(s[0], s[1]) for s in board_raw]
 
+    init_x = sum(c[0] for c in color_data) / float(len(color_data))
+
     clusters, score = k_means.cluster(3, 2,zip(color_data, range(len(color_data))),
-                               [[0., 0.5], [0.5, 0.5], [1., 0.5]])
+                               [[0., 0.5], [init_x, 0.5], [1., 0.5]])
 #    clusters1, score1 = k_means.cluster(1, 2,zip(color_data, range(len(color_data))),
 #                               [[0.5, 0.5]])
 #    clusters2, score2 = k_means.cluster(2, 2,zip(color_data, range(len(color_data))),