Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. def cell_hist(gradients):
  2. h, w, d = gradients.shape
  3. window_size = 8
  4. res_h = int(h / window_size)
  5. res_w = int(w / window_size)
  6. bins_number = 9
  7. bin_width = (180 / bins_number)
  8. bins = [bin_width * x for x in range(bins_number)]
  9. result = np.zeros((res_h, res_w, bins_number))
  10.  
  11. for a in range(res_h):
  12. for b in range(res_w):
  13. fragment = gradients[a*window_size:(a+1)*window_size, b*window_size:(b+1)*window_size]
  14. hist = np.zeros(bins_number)
  15.  
  16. for row in fragment:
  17. for pixel in row:
  18. nbin = int((pixel[1] // bin_width) % 9)
  19. hist[nbin] += ((pixel[1] - bins[nbin]) / bin_width) * pixel[0]
  20. if nbin != bins_number - 1:
  21. hist[nbin+1] += ((bins[nbin+1] - pixel[1]) / bin_width) * pixel[0]
  22. else:
  23. hist[0] += ((180 - pixel[1]) / bin_width) * pixel[0]
  24. result[a,b] = hist
  25. return result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement