Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def cut(image):
- dim_x, dim_y, colors = image.shape
- current_split = colors_center
- previous_split = [[0, 0, 0] for i in range(len(curr))]
- while (current_split != previous_split):
- A = [set() for i in range(len(curr))]
- #
- A[-1] = {(i, j) for i in range(dim_x) for j in range(dim_y)}
- for i in range(dim_x):
- for j in range(dim_y):
- current_pixel_cluster = -1;
- current_pixel_cluster_distance = dist(image[i, j], current_cluster[current_pixel_cluster])
- for k in range(len(colors_center))
- if (dist(image[i, j], current_split[k]) < current_pixel_cluster_distance):
- current_pixel_cluster = k
- current_pixel_cluster_distance = dist(image[i, j], current_split[k])
- flip(i, j, A[-1], A[current_pixel_cluster])
- previous_split = current_split
- for i in range(len(colors_center)):
- tmp_sum = [0, 0, 0]
- for x in A[i]:
- tmp_sum += image[x[0], x[1]]
- tmp_sum /= len(A[i])
- current_split[i] = tmp_sum
- return A, B
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement