1

次のように、整理された点群の表面法線を計算しています。

pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud = create_point_cloud_ptr(cap_depth, cap_rgb);

// estimate normals
pcl::PointCloud<pcl::Normal>::Ptr normals (new pcl::PointCloud<pcl::Normal>);

pcl::IntegralImageNormalEstimation<pcl::PointXYZRGB, pcl::Normal> ne;
ne.setNormalEstimationMethod (ne.AVERAGE_3D_GRADIENT);
ne.setMaxDepthChangeFactor(15);
ne.setNormalSmoothingSize(10.0f);
ne.setInputCloud(cloud);
ne.compute(*normals);

法線を繰り返し処理すると、曲率フィールドはすべてのポイントで NAN に設定されます。計算で何か間違っていますか?

4

1 に答える 1

3

AVERAGE_3D_GRADIENTメソッドはサーフェスの曲率を計算しないことがわかりました。使用する必要がありますne.COVARIANCE_MATRIX

于 2013-02-14T15:39:41.413 に答える