import ImageDraw
import k_means
+import output
def dst(line):
"""Return normalized line."""
board_r = []
+ #TODO 19 should be a size parameter
try:
for i in xrange(19):
- board_r.append([])
for _ in xrange(19):
- board_r[i].append(board_rg.next())
+ board_r.append(board_rg.next())
except StopIteration:
pass
+
- return board_r
+ return output.Board(19, board_r)
def mean_luma(cluster):
return sum(c[0][0] for c in cluster) / float(len(cluster))
intersections.append(line)
return intersections
+def RGBtoSat(c):
+ max_diff = max(c) - min(c)
+ if max_diff == 0:
+ return 0
+ else:
+ #TODO simplify this
+ return max_diff / float(255. - abs(max(c) + min(c) - 255))
+
def stone_color_raw(image, (x, y)):
"""Given image and coordinates, return stone color."""
suma = []
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(max(s) - min(s) / float(255. - abs(max(s) + min(s) - 255))
- for s in suma) / (25. * 255.)
+ saturation = sum(RGBtoSat(s) for s in suma) / (25. * 255.)
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.]
return luma, saturation, color