title: Visualize Optical Flow with color model
body: <p>I've implemented a dense optical flow algorithm and I want to visualize it with following color model </p>
  
  <p><img src="https://i.stack.imgur.com/A9xns.png" alt="enter image description here"></p>
  
  <p>(color denotes direction of flow at some point, intensity denotes length of displacement vector)</p>
  
  <p>I've implemented a dirty version of the visualization </p>
  
  <pre><code>def visualizeFlow(u, v):
      colorModel = cv2.imread('../colormodel.png')
      colorModelCenter = (colorModel.shape[0]/2, colorModel.shape[1]/2)
      res = np.zeros((u.shape[0], u.shape[1], 3), dtype=np.uint8)
      mag = np.max(np.sqrt(u**2 + v**2)) 
      if mag == 0:
          return res, colorModel
      for i in xrange(res.shape[0]):
          for j in xrange(res.shape[1]):
              res[i, j] = colorModel[
                          colorModelCenter[0] + (v[i, j]/mag*colorModelCenter[0]),
                          colorModelCenter[1] + (u[i, j]/mag*colorModelCenter[1])
                      ]
      return res, colorModel
  </code></pre>
  
  <p>It produce nice in general case pictures but it really slow</p>
  
  <p><img src="https://i.stack.imgur.com/bFerM.png" alt="enter image description here"></p>
  
  <p>So my question is can anyone help me make this visualization faster? If somebody knows a better way to visualize dense flow it may be cool</p>