Orbbec и OpenNi2: DeviceOpen по умолчанию: устройства не найдены

У меня есть датчик глубины Orbbec Astra, подключенный через USB, и диспетчер устройств показывает, что драйвер установлен правильно.

Я загрузил пакет «Astra & OpenNI2» с orbbec.com, но отдельно установил только пакет SensorDriver_V4.3.0.4.exe и пакет OpenNI2, который я скачал с Structure.io.

У меня есть следующий код, который отлично компилируется. Но при запуске возвращает Device open failed: DeviceOpen using default: no devices found.

То же самое происходит при запуске NiViewer.exe Что я делаю не так? Нужен ли какой-то дополнительный драйвер?

#include "stdafx.h"
#include <OpenNI.h>

int main()
{
    openni::Status rc = openni::STATUS_OK;
    openni::Device device;
    openni::VideoStream depth, color;

    const char* deviceURI = openni::ANY_DEVICE;

    rc = openni::OpenNI::initialize(); 

    printf("After initialization:\n%s\n", openni::OpenNI::getExtendedError());

    rc = device.open(deviceURI); 

    if (rc != openni::STATUS_OK)
    {
        printf("Device open failed: %s\n", openni::OpenNI::getExtendedError());
        openni::OpenNI::shutdown();
        return 1;
    }

    return 0;
}

person Matthias Güntert    schedule 21.02.2018    source источник


Ответы (2)


вам просто нужно было скопировать 3 файла (предоставленных в пользовательском zip-архиве OpenNI 2.3 от ORBBEC) в уже установленную структуру папок OPENNI2 2.2 SDK (аналогично zzzz\OpenNI2\Drivers :

  • xxxx\OpenNI2\Drivers\orbbec.ini xxxx\OpenNI2\Drivers\orbbec.lib xxxx\OpenNI2\Drivers\orbbec.dll

В основном, делая это, вы расширяете количество управляемых камер OPENNI2, добавляя «драйвер». Текущая папка установки по умолчанию уже содержит следующее:

  • Kinect.dll, Onifile.dll, PS1080.ini PS1080.lib PS1080.dll PSLink.ini PSLink.lib PSLink.dll

(поэтому добавьте туда 3 файла orbbec)

Важно: если вы запускаете niviewer.exe из командной строки, он сначала будет искать относительную подпапку \OpenNI2\drivers подпапку (поэтому обновите ее в этом случае), или в противном случае будет искать эту подпапку внутри параметра среды установки по умолчанию ( OPENNI2_REDIST или OPENNI2_REDIST64) в зависимости от вашей установки. Так что будьте аккуратнее ! Надеюсь, поможет.

person Vincent A.    schedule 24.05.2018
comment
Не помогло... Та же проблема - person Alaa M.; 13.07.2018

Я «решил» проблему, удалив пакет OpenNI2, который я скачал с сайтаstructure.io, и использовал файлы OpenNI2, поставляемые с драйвером Orbbec.

До сих пор не знаю, почему я не могу использовать простые ванильные пакеты OpenNI2...

person Matthias Güntert    schedule 22.02.2018