Как получить ковариационную матрицу из данных облака точек с помощью библиотеки PCL?

Мне нужен пример кода, который может получить ковариационную матрицу из данных облака точек с использованием PCL.

Я просмотрел документацию PCL и нашел этот код для вычисления ковариации:

// Placeholder for the 3x3 covariance matrix at each surface patch
Eigen::Matrix3f covariance_matrix;

// 16-bytes aligned placeholder for the XYZ centroid of a surface patch
Eigen::Vector4f xyz_centroid;

// Estimate the XYZ centroid
compute3DCentroid (cloud, xyz_centroid);

// Compute the 3x3 covariance matrix
computeCovarianceMatrix (cloud, xyz_centroid, covariance_matrix); 

person user3083514    schedule 09.12.2013    source источник
comment
Прошу прощения за мой неясный вопрос. на самом деле моя проблема в том, что у меня есть данные облака точек, и я хочу рассчитать ковариационную матрицу из этих данных. Я новичок в области компьютерного зрения, и я не знаю, как его получить, поэтому я задаю этот вопрос, чтобы получить от вас указания. Прошу прощения еще раз за мой вопрос.   -  person user3083514    schedule 09.12.2013
comment
Я просматриваю документацию PCL и нашел этот код для оценки ковариации: pointclouds.org/documentation/tutorials/ normal_estimation.php, но я не знаю, с чего начать, например, какой заголовочный файл включить в код и т. д.   -  person user3083514    schedule 09.12.2013
comment
Я думаю, вам нужно начать с более ранних руководств: pointclouds.org/documentation/tutorials   -  person D.J.Duff    schedule 10.12.2013
comment
Большое спасибо за ваше направление.   -  person user3083514    schedule 10.12.2013


Ответы (1)


Это прямолинейно, но я думаю, вам нужно больше читать документацию/учебники :)

1- загрузить файл PCD, например:

pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ> ());
pcl::io::loadPCDFile("c:\path\pcdfile.pcd",*cloud)

2- вычислить центр тяжести:

Eigen::Vector4f xyz_centroid;
compute3DCentroid (cloud, xyz_centroid);

3- вычислить ковариацию

Eigen::Matrix3f covariance_matrix;
computeCovarianceMatrix (cloud, xyz_centroid, covariance_matrix); 
person NKN    schedule 08.02.2014