yorsh87 / nicp

Normal Iterative Closest Point (NICP) Algorithm C++ Library
GNU General Public License v3.0
396 stars 115 forks source link

Set to subset? #7

Open antithing opened 7 years ago

antithing commented 7 years ago

Hi, one quick question... Will nicp work only work on sequential organised clouds like kinect images? Or could I use it to match one frame back to a large global map also? Thanks again for making the code available.

yorsh87 commented 7 years ago

There is the possibility to use KD-Trees (based on FLANN library), so yes you can. However expect the system to run slower with respect to the projective version.

Here is a link to a tutorial on how to align unorganized point clouds (there is a projector in the code but it is only only used to get the point cloud and the surface normals): http://jacoposerafin.com/nicp/index.php/tutorials/nearest-neighbor-depth-image-registration/

antithing commented 7 years ago

Thank you! I will try that. I am still attempting to get this running on windows, and am stuck on one last error, I know you are not supporting non-linux builds, but if you have any tips, it would be greatly appreciated.

In HomogeneousVector4f.h The line:

https://github.com/yorsh87/nicp/blob/master/nicp/nicp/homogeneousvector4f.h#L21

gives me:

'nicp::HomogeneousVector4f<0>::wCoordinate': a static data member with an in-class initializer must have non-volatile const integral type

and if i remove the static, ithe line:

https://github.com/yorsh87/nicp/blob/master/nicp/nicp/cloud.cpp#L320

gives me:

function "nicp::HomogeneousVector4f<wCoordinate_>::operator=(const nicp::HomogeneousVector4f<1> &) [with wCoordinate_=1]" (declared implicitly) cannot be referenced -- it is a deleted function

Thank you again for your code, and your time.

xiaopeige commented 2 years ago

Thank you! I will try that. I am still attempting to get this running on windows, and am stuck on one last error, I know you are not supporting non-linux builds, but if you have any tips, it would be greatly appreciated.

In HomogeneousVector4f.h The line:

https://github.com/yorsh87/nicp/blob/master/nicp/nicp/homogeneousvector4f.h#L21

gives me:

'nicp::HomogeneousVector4f<0>::wCoordinate': a static data member with an in-class initializer must have non-volatile const integral type

and if i remove the static, ithe line:

https://github.com/yorsh87/nicp/blob/master/nicp/nicp/cloud.cpp#L320

gives me:

function "nicp::HomogeneousVector4f<wCoordinate_>::operator=(const nicp::HomogeneousVector4f<1> &) [with wCoordinate_=1]" (declared implicitly) cannot be referenced -- it is a deleted function

Thank you again for your code, and your time.

hello,Did you compile successfully in windows? thank you