ID de l'article: 000027169 Type de contenu: Dépannage Dernière révision: 06/08/2021

Comment obtenir le Cloud de points des caméras Intel® RealSense™ en C #

Environnement

Intel® RealSense™ de profondeur D435 Intel® RealSense™ de profondeur D415

BUILT IN - ARTICLE INTRO SECOND COMPONENT
En bref

Convertir un Intel RealSense cloud de point en Cloud de point PCL à partir de Intel® RealSense™ de profondeur

Descriptif

Je souhaite convertir les données cloud de point d’Intel® RealSense™ au format PCD, classique en PCL (bibliothèque Cloud de points)

Résolution

Le Intel® RealSense™ SDK 2.0 est fourni avec un programme d’échantillons de cloud de points, mais il est conçu pour les C+++, comme la majorité des échantillons.  Cependant, en regardant le code du petit nombre d’échantillons C#, leurs scripts ont le #includes dans les en-têtes (quelque chose qui n’est pas obligatoire en C#).  Il est donc possible que le code Cloud point C++ ne soit pas difficile à convertir en script C#.
 
Essayez le code C++ dans un script C# et voyez combien d’erreurs, le cas besoin, vous obtenez et travaillez à partir de ce point.
 
librealsense/examples/pointcloud at master | IntelRealSense/librealsense • Github
 
Pour comparer le code C++ par rapport au code C dans le SDK RealSense 2.0, vous pouvez voir les deux types d’échantillons répertoriés sur cette page :
 
librealsense/exemples chez master • IntelRealSense/librealsense • Github
 
Une option à utiliser jusqu’à ce que la classe PointCloud soit bleu C est d’obtenir les valeurs inhérentes de la caméra (pour la caméra de profondeur si elle utilise la profondeur brute ou la caméra de couleur si elle utilise une profondeur alignée sur les couleurs) et implémenter le modèle de caméra à trous (c’est-à-dire ce que fait la classe PointCloud en interne). Des valeurs inhérentes que vous obtenez de la caméra, ppx et ppy sont camera_principle_point_x et y dans le lien et fx & fy sont camera_focal_length_x et y.
 
Vous devez faire une boucle à travers chaque pixel dans l’image de profondeur, obtenir la valeur de profondeur (le plus efficace est par le pointeur de données de profondeur), le multiplier par l’échelle de profondeur, et appliquer la formule x_3D et y_3D donnée dans le lien.
 
Dans le cas où n’importe qui lit cela et devient confus, C# est (la plupart) pris en charge actuellement.

La méthode utilisée en interne pour calculer le Cloud point est ici.

Emballage PCL pour disques Intel RealSense la conversion de XYZ + RVB
https://github.com/eMrazSVK/JetsonSLAM/blob/master/pcl_testing.cpp

Produits associés

Cet article concerne 1 produits

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.