Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

pointCloud

Objeto para almacenar una nube de puntos 3D

Desde R2022a

Descripción

El objeto pointCloud crea datos de nube de puntos desde un conjunto de puntos en un sistema de coordenadas 3D. Los datos de nube de puntos se almacenan como un objeto con las propiedades enumeradas en Propiedades. Utilice Funciones de objeto para recuperar, seleccionar y eliminar los puntos deseados de los datos de nube de puntos.

Creación

Descripción

ptCloud = pointCloud(xyzPoints) devuelve un objeto pointCloud con coordenadas especificadas por xyzPoints.

ptCloud = pointCloud(xyzPoints,Name,Value) crea un objeto pointCloud con propiedades especificadas como uno o más argumentos de par Name,Value. Por ejemplo, pointCloud(xyzPoints,'Color',[0 0 0]) establece la propiedad Color del punto xyzPoints como [0 0 0]. Encierre el nombre de cada propiedad entre comillas. Cualquier propiedad no especificada tendrá los valores predeterminados.

Argumentos de entrada

expandir todo

Puntos de coordenadas 3D, especificados como una lista de puntos de M por 3 o un arreglo de M por N por 3 para una nube de puntos organizada. Los puntos de coordenadas 3D especifican las posiciones x, y y z de un punto en el espacio de coordenadas 3D. Las dos primeras dimensiones de una nube de puntos organizada se corresponden con el orden de escaneo de los sensores como RGBD o LiDAR. Este argumento establece la propiedad Location.

Tipos de datos: single | double

Argumentos de salida

expandir todo

Nube de puntos, devuelta como un objeto pointCloud con las propiedades enumeradas en Propiedades.

Propiedades

expandir todo

Esta propiedad o parámetro es de solo lectura.

Posición de los puntos en el espacio de coordenadas 3D, especificada como un arreglo de M por 3 o M por N por 3. Cada entrada especifica las coordenadas x, y y z de un punto en el espacio de coordenadas 3D. Esta propiedad no se puede establecer como un par nombre-valor. Utilice el argumento de entrada xyzPoints.

Tipos de datos: single | double

Color de la nube de puntos, especificado como un arreglo de M por 3 o M por N por 3. Utilice esta propiedad para establecer el color de los puntos de la nube de puntos. Cada entrada especifica el color RGB de un punto en los datos de nube de puntos. Por lo tanto, puede especificar el mismo color para todos los puntos o un color diferente para cada punto.

  • Los valores RGB especificados deben encontrarse en el rango [0, 1], cuando especifique el tipo de dato para Color como single o double.

  • Los valores RGB especificados deben encontrarse en el rango [0, 255], cuando especifique el tipo de dato para Color como uint8.

CoordenadasAsignación válida de Color
Arreglo de M por 3Arreglo de M por 3 que contiene valores RGB para cada punto
Arreglo de M por N por 3Arreglo de M por N por 3 que contiene valores RGB para cada punto

Tipos de datos: uint8

Normales de superficie, especificados como un arreglo de M por 3 o M por N por 3. Utilice esta propiedad para especificar el vector normal con respecto a cada punto de la nube de puntos. Cada entrada en las normales de superficie especifica el componente x, y y z de un vector normal.

CoordenadasNormales de superficie
Arreglo de M por 3Arreglo de M por 3, en el que cada fila contiene un vector normal correspondiente.
Arreglo de M por N por 3Arreglo de M por N por 3 que contiene un vector normal de 1 por 1 por 3 para cada punto.

Tipos de datos: single | double

Intensidades de la escala de grises en cada punto, especificadas como un vector de M por 1 o una matriz de M por N. La función relaciona el valor de cada intensidad con el valor de un color en el mapa de colores actual.

CoordenadasIntensidad
Arreglo de M por 3Vector de M por 1, en el que cada fila contiene un valor de intensidad correspondiente.
Arreglo de M por N por 3Matriz de M por N que contiene valores de intensidad para cada punto.

Tipos de datos: single | double | uint8

Esta propiedad o parámetro es de solo lectura.

Número de puntos en la nube de puntos, almacenados como un número entero positivo.

Esta propiedad o parámetro es de solo lectura.

Rango de coordenadas en el eje x, almacenado como un vector de 1 por 2.

Esta propiedad o parámetro es de solo lectura.

Rango de coordenadas en el eje y, almacenado como un vector de 1 por 2.

Esta propiedad o parámetro es de solo lectura.

Rango de coordenadas en el eje z, almacenado como un vector de 1 por 2.

Funciones del objeto

findNearestNeighborsFind nearest neighbors of a point in point cloud
findNeighborsInRadiusFind neighbors within a radius of a point in the point cloud
findPointsInROIEncontrar puntos dentro de una región de interés en la nube de puntos
removeInvalidPointsEliminar puntos no válidos de la nube de puntos
selectSelect points in point cloud
copyCopy array of handle objects

Sugerencias

El objeto pointCloud es un objeto handle. Si desea crear una copia separada de una nube de puntos, puede utilizar el método copy de MATLAB®.

ptCloudB = copy(ptCloudA)

Si desea conservar una única copia de una nube de puntos, que se pueda modificar mediante funciones de nube de puntos, utilice el mismo nombre de variable de la nube de puntos en la entrada y la salida.

ptCloud = pcFunction(ptCloud)

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2022a