Realizado por: Jaimen Aza
Aquí, se presentan varios procedimientos que se pueden hacer a partir de una nube de puntos con extensión ply. La nube de puntos aquí presentada corresponde a un tanque de gas, al cual, se desea encontrar su diámetro y su altura.
Primero visualizaremos la nube de puntos tal cual es capturada por la cámara de Tiempo de Vuelo (ToF) Helios2 (ver figura 1). Esta nube de puntos retorna las coordenadas en unidades de milímetros.
Comúnmente es típico tener una imagen de profundidad y transformarla a una nube de puntos 3D. En este caso será al contrario, a partir de una nube de puntos 3D se desea llegar a una imagen de profundidad. El resulta de muestra en la figura 2.
Una vez se obtiene la imagen de profundidad, se desea segmentar el tanque de gas presentado en la imagen, para esto se detecta una circunferencia y se crea una máscara que elimina todo lo que esté afuera del círculo (ver figura 3).
Una vez detectado el círculo, se dibuja el radio y la longitud de este sobre la imagen ed profundidad, además se le asigna el falso color magma para efectos de visualización (ver figura 4).
Con la máscara encontrada en la segmentación del tanque de gas en la imagen de profundidad, vamos a segmentar el tanque de gas sobre la nube de puntos 3D mostrada en la figura 1. El resultado de la segmentación de la nube de puntos se muestra en la figura 5.

Figura 5. Segmentanción del tanque en la nube de puntos 3D. En la izquierda, nube de puntos que no corresponden al tanque. A la derecha nube de puntos del tanque.
Ahora que tenemos el tanque de gas segmentado, se desea encontrar y dibujar sobre la nube de puntos el mínimo y el máximo valor de la nube, también se dibuja sobre la nube la distancia que existe entre estos dos puntos y el radio que se calculó anteriormente. Esto se muestre en la figura 6.

Figura 6. Nube puntos del tanque de gas con la distancia entre el mínimo punto y el máximo punto de la nube.
Para calcular el ancho y el alto del tanque de gas se hace una proyección de la nube de puntos sobre el eje x, con esto se consigue un perfil de la nube (ver figura 7).
Para efectos de visualización, se hacen copias de la nube de puntos del tanque segmentada, se hace un desplazamiento a cada nube y luego se fusionan para mostrar una nube de puntos con varios tanques (ver figura 8).
pip install -r requirements.txt