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 : de root
