title: Why is cv2.projectPoints not behaving as I expect?
body: <p>I have a 3D world that I am trying to map to a 2D view using cv2.projectPoints, but it is not acting as I expect. My grasp of opencv, numpy and matrix ops is weak, so I must be making a wrong assumption somewhere. This code:</p>
  
  <pre><code>src = np.ones((6, 3))
  src[:,1] = 2
  src[:,2] = range(6) # source points
  rvec = np.array([0,0,0], np.float) # rotation vector
  tvec = np.array([0,0,0], np.float) # translation vector
  fx = fy = 1.0
  cx = cy = 0.0
  cameraMatrix = np.array([[fx,0,cx],[0,fy,cy],[0,0,1]])
  result = cv2.projectPoints(src, rvec, tvec, cameraMatrix, None)
  for n in range(len(src)):
      print src[n], '==&gt;', result[0][n]
  </code></pre>
  
  <p>generates this output:</p>
  
  <pre><code>[ 1.  2.  0.] ==&gt; [[ 1.  2.]]
  [ 1.  2.  1.] ==&gt; [[ 1.  2.]]
  [ 1.  2.  2.] ==&gt; [[ 0.5  1. ]]
  [ 1.  2.  3.] ==&gt; [[ 0.33333333  0.66666667]]
  [ 1.  2.  4.] ==&gt; [[ 0.25  0.5 ]]
  [ 1.  2.  5.] ==&gt; [[ 0.2  0.4]]
  </code></pre>
  
  <p>The x- and y-values are being divided by the z-value?! I thought that as I am applying no transformations with rvec and tvec that the output should match the [x,y] values of src.</p>