I have 3D point cloud obtained from scanner. I want to obtain scanning direction from this point cloud, since I dont have it present. If I calculate average normal vector of the point cloud, I get kind of a good result, but it is not quite good solution, because normal vectors can be wrong (I dont have them, I need to calculate them for points).

So I was thinking to run PCA on my cloud. However, the resulting three eigenvectors used as direction are wrong - I have projected point cloud to the plane defined by first (and later second and third) of the three eigen vectors and median as origin. Is this supposed to work and I have some other error, or my idea of obtainign scan direction is totally wrong?

  • $\begingroup$ PCA identifies the directions of maximum variance. Does the scan direction neccesarily be the one with the highest variance ? $\endgroup$ – Nikolas Rieble Feb 7 '17 at 15:59
  • $\begingroup$ It is the axis with to which the cloud projection is the densiest. So. What else insteas of pca can I use? $\endgroup$ – Martin Perry Feb 7 '17 at 16:12
  • $\begingroup$ What do you mean by scan direction? $\endgroup$ – mdewey Feb 7 '17 at 16:30
  • $\begingroup$ @mdewey Direction at which the laser is targeting the surface. Basically, laser dont see around corners, so I have 2.5D data (or one can think of it as a heightmap).. but I dont know the "ground plane" $\endgroup$ – Martin Perry Feb 7 '17 at 16:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.