首页 > 其他 > 详细

关于libpointmatcher的点点滴滴

时间:2015-10-19 19:12:59      阅读:1238      评论:0      收藏:0      [点我收藏+]

Maximum Density Filter

Points are only considered for rejection if they exceed a density threshold, otherwise they are preserved. The single parameter of this filter sets the maximum density that should be obtained in the output point cloud. Points are randomly rejected such that this maximum density is obtained as closely as possible.

1 PM::DataPointsFilter* maxDensitySubsample(
2     PM::get().DataPointsFilterRegistrar.create(
3         "MaxDensityDataPointsFilter",
4         map_list_of
5             ("maxDensity", toParam(30))
6     )
7 );

 

Surface Normal Filter

The surface normal to each point is estimated by finding a number of neighboring points and taking the eigen-vector corresponding to the smallest eigen-value of all neighboring points. Remark that that given a surface, the normal vector can point in two possible directions.

This filter has no impact on cloudpoints, but has output.

PM::DataPointsFilter* densityFilter(
    PM::get().DataPointsFilterRegistrar.create(
        "SurfaceNormalDataPointsFilter",
        map_list_of
            ("knn", "10")  //Number of neighboring points (including the point itself) to consider when extracting surface normal
            ("epsilon", "5") //Approximation used in nearest neighbor search
            ("keepNormals", "0")  //Add the normal vector to descriptors
            ("keepDensities", "1")  //Add point cloud density to descriptors
    )
);

Random Sampling Filter

它只保留输入点云固定比例的点

PM::DataPointsFilter* randSubsample(
    PM::get().DataPointsFilterRegistrar.create(
        "RandomSamplingDataPointsFilter",
        map_list_of
            ("prob", toParam(probToKeep))  //Probability that a point is kept (1/decimation factor)
    )
);

 

关于libpointmatcher的点点滴滴

原文:http://www.cnblogs.com/A123456A/p/4892426.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!