(Realsense Sdk) Пустое облако точек на rs2 :: pointcloud :: Calculate () - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь получить вершины облака точек, но независимо от того, что я делаю, я всегда получаю [x = 0, y = 0, z = 0] для всех точек. Я работаю на виртуальной машине VMware Ubuntu 18.04.3, использую реальную версию 2.31.0 и использую файл .bag, который был записан на камеру realsense d435i.

Мое тестовое приложение:

Приложение:

#include <librealsense2/rs.hpp>
#include <algorithm>
#include <iostream>

int main(int argc, char *argv[])
{
rs2::pointcloud pc;
rs2::points points;
rs2::pipeline pipe;

rs2::config cfg;
cfg.enable_device_from_file("recording.bag");
pipe.start(cfg);

int frame_off_interest = 100;
while (1)
{
if (frame_off_interest <= 0)
{
auto frames = pipe.wait_for_frames();
auto color = frames.get_color_frame();
auto depth = frames.get_depth_frame();


std::cout << "Measurement at [300, 300] = " << std::to_string(depth.get_distance(300, 300)) << std::endl;

pc.map_to(color);
points = pc.calculate(depth);
auto vertices = points.get_vertices();

std::cout << "Fond " << std::to_string(points.size()) << " Vertices" << std::endl;


int vertex_count = 0;
for (int i = 0; i < points.size(); i++)
{
if (vertices[i].x > 0.0 || vertices[i].y > 0.0 || vertices[i].z > 0.0)
{
vertex_count++;
}
}
std::cout << "Count Vertices that are not (0, 0, 0) = " << std::to_string(vertex_count) << std::endl;
break;
}
frame_off_interest--;
}
return EXIT_SUCCESS;
}

CMakeLists.txt:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(LRS_PCL)

#used for intelisense by vscode
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

find_package(realsense2 REQUIRED)
include_directories(${realsense2_INCLUDE_DIRS})
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)

add_executable (LRS_PCL rs-pointcloud.cpp)
target_link_libraries (LRS_PCL ${realsense2_LIBRARY})

Когда я выполняю В тестовом приложении карта глубины содержит данные, но я всегда получаю [x = 0, y = 0, z = 0] для всех точек. Смотрите вывод моей тестовой заявки ниже:

Measurement at [300, 300] = 2.634000
Fond 921600 Vertices
Count Vertices that are not (0, 0, 0) = 0

Буду признателен за вашу помощь.

...