Conversão de Intel RealSense ponto de nuvem em nuvem ponto PCL a partir de Intel® RealSense™ de profundidade
Eu quero converter os dados da nuvem de ponto Intel® RealSense™ câmera para o formato PCD, que é convencional em PCL (biblioteca de ponto em nuvem)
O Intel® RealSense™ SDK 2.0 vem com um programa de amostra de ponto na nuvem, mas é destinado para C++, assim como a maioria das amostras. No entanto, olhando para o código do pequeno número de amostras C#, seus scripts têm a #includes nos cabeceadores (algo que não é obrigatório no C#). Portanto, é possível que o código de nuvem de ponto C++ possa não ser difícil de converter para um script de C#.
Experimente o código C++ em um script C# e veja quantos erros, se existem, você recebe e trabalha a partir desse ponto.
oialsense/exemplos/pointcloud no mestre IntelRealSense/querealsense Github
Para comparação de código C++ versus C# no SDK RealSense 2.0, você pode ver os dois tipos de amostra listados nesta página:
lalsense/exemplos no mestre IntelRealSense/querealsense Github
Uma opção a fazer, por enquanto, até que a classe PointCloud esteja desemperada para C# é obter os detalhes da câmera (para a câmera de profundidade, se estiver usando a profundidade bruta ou a câmera de cores, se estiver usando a profundidade de acordo com a cor) e implemente o Modelo de câmera Pinodor (que é o que a classe PointCloud faz internamente). Das desiluminações que você recebe da câmera, ppx & ppy são camera_principle_point_x y no link e fx & fy são camera_focal_length_x y.
Você precisa loop em cada pixel na imagem de profundidade, obter o valor de profundidade (a mais eficiente é através do ponteiro de dados de profundidade), multiplicá-lo pela escala de profundidade e aplicar a x_3D e y_3D fórmulas fornecidas no link.
No caso de alguém ler isso e ficar confundido, o C# é (principalmente) suportado atualmente.
O método utilizado internamente para calcular a nuvem de pontos está aqui.
Invólucro PCL para Intel RealSense suporte à conversão XYZ + RGB
https://github.com/eMrazSVK/JetsonSLAM/blob/master/pcl_testing.cpp