Cómo crear una imagen de profundidad a partir de una nube de puntos
Notas explicativas
El siguiente es un análisis de declaraciones clave en el código fuente abierto.
#include lt; pcl/range_image/range_image.hgt; //Archivo de encabezado de imagen de profundidad
int main (int argc, char** argv) {
pcl::PointCloudlt; pcl:.pointXYZgt; pointCloud; //definir el objeto de nube de puntos
for (float y=-0.5f; ylt;=0.5f; y =0.01f) { // bucle para generar datos de puntos
for (float z=-0.5f; zlt; =0.5f; z =0.01f) {
pcl::PointXYZ point;
punto.x = 2.0f - y
punto.y = y
punto.z = z
pointCloud.points.push_back; (point); // Bucle para agregar datos de puntos al objeto de nube de puntos
}
}
pointCloud.points.push_back(point); Bucle para agregar datos de puntos al objeto de nube de puntos
}
}
pointCloud.points.push_back(point); // Bucle para agregar datos de puntos; En el objeto de nube de puntos
width = (uint32_t) pointCloud.points.size();
pointCloud.height = 1 //Establece la información del encabezado del objeto de nube de puntos<; /p >
Este programa primero crea un conjunto de datos como el contenido de datos de la nube de puntos y luego establece la información del encabezado. Todo el proceso de implementación genera una nube de puntos rectangular.
float angularResolution = (float) ( 1.0f * (M_PI/180.0f)); // 1 grado de radianes
float maxAngleWidth = (float) (360.0f * (M_PI) / 180.0f)); // 360.0 grados de radianes
float maxAngleWidth = (float) (360.0f * (M_PI/180.0f)); // 1 grado de radianes