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:
def stone_color_raw(image, (x, y)):
"""Given image and coordinates, return stone color."""
+ size = 3
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)))
+ t += 1
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