lib:pcl
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
lib:pcl [2019/03/14 20:25] – Ajout de "Rotation d'un point avec normales" root | lib:pcl [2019/09/20 13:12] (Version actuelle) – Ajout de Eigen comme dépendance root | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
===Compilation sous Windows=== | ===Compilation sous Windows=== | ||
- | Il est nécessaire d' | + | Il est nécessaire d' |
Il faut aussi les sources de Eigen mais uniquement pour les header (compilation inutile). | Il faut aussi les sources de Eigen mais uniquement pour les header (compilation inutile). | ||
Ligne 75: | Ligne 75: | ||
</ | </ | ||
- | ===Rotation d' | + | ===Matrice de rotation pour aligner un axe vers un autre=== |
- | Les normales | + | <code cpp> |
+ | Eigen:: | ||
+ | rotAxe.setFromTwoVectors(Eigen:: | ||
+ | transform.prerotate(rotAxe); | ||
+ | </ | ||
+ | |||
+ | ===Rotation d' | ||
+ | Sans les normales : | ||
<code cpp> | <code cpp> | ||
- | // Transformation du nuage | ||
pcl:: | pcl:: | ||
+ | </ | ||
- | // On enlève tout ce qui touche à la translation. | + | Avec les normales |
- | Eigen::Matrix4f matrix = transform.matrix(); | + | <code cpp> |
- | matrix(0, 3) = 0.f; | + | pcl::transformPointCloudWithNormals(*cloud_src, |
- | matrix(1, 3) = 0.f; | + | |
- | matrix(2, 3) = 0.f; | + | |
- | matrix(3, 0) = 0.f; | + | |
- | matrix(3, 1) = 0.f; | + | |
- | matrix(3, 2) = 0.f; | + | |
- | matrix(3, 3) = 0.f; | + | |
- | pcl::detail:: | + | |
- | + | ||
- | // Transformation des normales. | + | |
- | for (size_t i = 0; i < retval-> | + | |
- | tf.se3(cloud_src-> | + | |
</ | </ | ||
+ | |||
+ | ===Recherche des normales=== | ||
+ | <code cpp> | ||
+ | pcl:: | ||
+ | pcl:: | ||
+ | pcl:: | ||
+ | pcl:: | ||
+ | ne.setSearchMethod(tree); | ||
+ | // Pour l' | ||
+ | ne.setViewPoint(0, | ||
+ | ne.setInputCloud(cloud_src); | ||
+ | // L'un ou l' | ||
+ | ne.setKSearch(nombre_de_voisins); | ||
+ | ne.setRadiusSearch(distance_des_voisins); | ||
+ | ne.compute(*retval); | ||
+ | </ | ||
+ | |||
+ | [[http:// |
lib/pcl.1552591546.txt.gz · Dernière modification : 2019/03/14 20:25 de root