Guest User

Untitled

a guest
Apr 22nd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. def compute_variance_grayscale(self, clusters, centroids, gImage, k):
  2. # compute variance
  3. variance = 0
  4.  
  5. for i in range(len(clusters)): #iterate over the available clusters
  6. cluster = clusters[i]
  7. sum = 0;
  8. centroid = centroids[i]
  9. for j in cluster: #for each data point in cluster j compute the sum
  10. sum += (gImage.getImageValueAt(j[0], j[1]) - centroid) ** 2
  11.  
  12. variance += sum / (len(cluster) - k); #add the sum to the given variance
  13.  
  14. return variance
  15.  
  16. def compute_variance_rgb(self, clusters, centroids, cImage, k):
  17. # compute variance
  18. variance = 0
  19. for i in range(len(clusters)):
  20. cluster = clusters[i]
  21. sum = 0;
  22. centroid = centroids[i]
  23. for j in cluster:
  24. b,g,r = cImage.getImageValueAt(j[0], j[1])
  25. b_e = (b - centroid[0]) ** 2
  26. g_e = (g - centroid[1]) ** 2
  27. r_e = (r - centroid[2]) ** 2
  28.  
  29. sum += (b_e + g_e + r_e)
  30.  
  31. variance += sum / (len(cluster) - k);
  32.  
  33. return variance
  34.  
  35. np.sum([n[i] * np.log(n[i]) -
  36. n[i] * np.log(N) -
  37. ((n[i] * d) / 2) * np.log(2*np.pi*cl_var) -
  38. ((n[i] - 1) * d/ 2) for i in range(m)]) - const_term
Add Comment
Please, Sign In to add comment