better color distinction
[imago.git] / imago_pack / intrsc.py
index 04ef350..45308b1 100644 (file)
@@ -59,7 +59,7 @@ def board(image, lines, show_all, do_something):
         pyplot.show()
 
     clusters = k_means.cluster(3, 2,zip(zip(luma, saturation), range(len(luma))),
         pyplot.show()
 
     clusters = k_means.cluster(3, 2,zip(zip(luma, saturation), range(len(luma))),
-                               [[0., 0.], [0.5, 0.5], [1., 0.]])
+                               [[0., 0.5], [0.5, 0.5], [1., 0.5]])
    #clusters.sort(key=mean_luma)
 
     if show_all:
    #clusters.sort(key=mean_luma)
 
     if show_all:
@@ -124,16 +124,19 @@ def RGBtoSat(c):
 
 def stone_color_raw(image, (x, y)):
     """Given image and coordinates, return stone color."""
 
 def stone_color_raw(image, (x, y)):
     """Given image and coordinates, return stone color."""
+    size = 3 
     suma = []
     suma = []
-    for i in range(-2, 3):
-        for j in range(-2, 3):
+    t = 0
+    for i in range(-size, size + 1):
+        for j in range(-size, size + 1):
             try:
                 suma.append(image.getpixel((x + i, y + j)))
             try:
                 suma.append(image.getpixel((x + i, y + j)))
+                t += 1
             except IndexError:
                 pass
             except IndexError:
                 pass
-    luma = sum([0.30 * sum(s[0] for s in suma) / 25., 0.59 * sum(s[1] for s in suma) / 25.
-            0.11 * sum(s[2] for s in suma) / 25.]) / 255.
-    saturation = sum(RGBtoSat(s) for s in suma) / 25.
-    color = [sum(s[0] for s in suma) / 25., sum(s[1] for s in suma) / 25.,
-             sum(s[2] for s in suma) / 25.]
+    luma = sum([0.30 * sum(s[0] for s in suma) / t, 0.59 * sum(s[1] for s in suma) / t
+            0.11 * sum(s[2] for s in suma) / t]) / 255.
+    saturation = sum(RGBtoSat(s) for s in suma) / t
+    color = [sum(s[0] for s in suma) / t, sum(s[1] for s in suma) / t,
+             sum(s[2] for s in suma) / t]
     return luma, saturation, color
     return luma, saturation, color