title: opencv: Rigid Transformation between two 3D point clouds
body: <p>I have two 3D point clouds, and I'd like to use opencv to find the rigid transformation matrix (translation, rotation, constant scaling among all 3 axes).</p>
  
  <p>I've found an <a href="http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html?highlight=estimaterigidtransform#Mat%20estimateRigidTransform%28InputArray%20src,%20InputArray%20dst,%20bool%20fullAffine%29" rel="noreferrer">estimateRigidTransformation</a> function, but it's only for 2D points apparently</p>
  
  <p>In addition, I've found <a href="http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html?highlight=estimate#cv2.estimateAffine3D" rel="noreferrer">estimateAffine3D</a>, but it doesn't seem to support rigid transformation mode.</p>
  
  <p>Do I need to just write my own rigid transformation function?</p>