Как собрать PCL для OpenNI2?

У меня есть датчик Astra Pro 3D от Orbecc, и он использует OpenNI для захвата.

Но PCL, предварительно скомпилированный из http://pointclouds.org/, использует OpenNI, а не OpenNI2. Поэтому, когда я пытаюсь запустить любую примерную программу, я получаю сообщение об ошибке «Нет подключенных устройств».

После некоторых исследований я обнаружил, что мне нужно собрать PCL для OpenNI2. Поскольку я очень новичок в PCL, я не знаю, как это сделать.

Может ли кто-нибудь помочь мне собрать PCL с OpenNI2.


person MaheshKumar    schedule 14.06.2016    source источник


Ответы (1)


У меня была аналогичная проблема в моей системе Linux. Я решил эту проблему, самостоятельно скомпилировав PCL. Учебник из этого источника оказался весьма полезным для меня. Но будьте осторожны: он предназначен для сборки с OpenNI.

Для использования OpenNI2 мне пришлось позаботиться о том, чтобы он уже был установлен в моей системе (я сделал это также путем сборки исходников). При выполнении cmake с использованием cmake .. в каталоге сборки внутри загруженного исходного кода OpenNI2 он должен отображаться как найденный.

В этом каталоге сборки вы найдете следующий файл: bin/pcl_openni2_viewer. Это можно использовать для тестирования PCL с OpenNI2.

Если у вас есть проблема, что устройство не может быть найдено, и вы получаете вывод, подобный этому

terminate called after throwing an instance of 'pcl::IOException'
  what():  void pcl::io::OpenNI2Grabber::setupDevice(const string&, const pcl::io::OpenNI2Grabber::Mode&, const pcl::io::OpenNI2Grabber::Mode&) in /home/dev/pcl/io/src/openni2_grabber.cpp @ 325 : No devices connected.
Aborted (core dumped)

OpenNI2 не может правильно определить вашу камеру, и некоторые файлы камеры отсутствуют.

Я использую камеру LIPS ToF и получил несколько исходников для компиляции для моей системы. Для тестирования OpenNI2 мне пришлось позаботиться о том, чтобы некоторые из этих файлов были скопированы рядом с исполняемыми файлами. Для использования их с PCL я скопировал их в /usr/local/lib, и у меня все заработало.

Надеюсь, это поможет! - Ваше здоровье

person Martin    schedule 22.05.2017