X-Git-Url: http://git.tomasm.cz/imago.git/blobdiff_plain/f22e2954fe1c40b1e706945ae295a363e2d347d9..f19938820e152bbd68f2ed3f8aa3f7d7f182ca06:/src/intrsc.py?ds=inline diff --git a/src/intrsc.py b/src/intrsc.py index 68b18a0..73de142 100644 --- a/src/intrsc.py +++ b/src/intrsc.py @@ -57,13 +57,13 @@ def board(image, lines, show_all, do_something): board_raw = sum(board_raw, []) ### Show color distribution - luma = [s[0] for s in board_raw] - saturation = [s[1] for s in board_raw] if show_all: import matplotlib.pyplot as pyplot import Image fig = pyplot.figure(figsize=(8, 6)) + luma = [s[0] for s in board_raw] + saturation = [s[1] for s in board_raw] pyplot.scatter(luma, saturation, color=[(s[2][0]/255., s[2][1]/255., @@ -77,7 +77,15 @@ def board(image, lines, show_all, do_something): image_p = Image.fromstring('RGB', size, buff, 'raw') do_something(image_p, "color distribution") - clusters = k_means.cluster(3, 2,zip(zip(luma, saturation), range(len(luma))), + max_s0 = max(s[0] for s in board_raw) + min_s0 = min(s[0] for s in board_raw) + norm_s0 = lambda x: (x - min_s0) / (max_s0 - min_s0) + max_s1 = max(s[1] for s in board_raw) + min_s1 = min(s[1] for s in board_raw) + norm_s1 = lambda x: (x - min_s1) / (max_s1 - min_s1) + color_data = [(norm_s0(s[0]), norm_s1(s[1])) for s in board_raw] + + clusters = k_means.cluster(3, 2,zip(color_data, range(len(color_data))), [[0., 0.5], [0.5, 0.5], [1., 0.5]]) if show_all: