Guest User

Untitled

a guest
Jan 17th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. import numpy as np
  2. from skimage import filters
  3.  
  4. def optical_flow_lk(t0, t1, sigma):
  5. # setup the local linear systems of equations
  6. gradients = np.gradient(t0)
  7. dx, dy = gradients[1], gradients[0]
  8. dt = t1 - t0
  9. A00 = filters.gaussian(dx * dx, sigma)
  10. A11 = filters.gaussian(dy * dy, sigma)
  11. A10 = filters.gaussian(dx * dy, sigma)
  12. A01 = A10
  13. b0 = -filters.gaussian(dx * dt, sigma)
  14. b1 = -filters.gaussian(dy * dt, sigma)
  15.  
  16. # solve the local linear systems of equations via 2x2 matrix inversion
  17. determinant = 1.0 / ((A00 * A11) - (A10 * A10))
  18. u = determinant * ((b0 * A11) + (b1 * -A01))
  19. v = determinant * ((b0 * -A10) + (b1 * A00))
  20. return u, v
Add Comment
Please, Sign In to add comment