Openni Не удалось перечислить один или несколько из следующих узлов

Я установил последнюю версию openni и NITE в следующем порядке:

Openni 1.3.4.6 нестабильная версия для разработки x64 NITE 1.4.2.5 нестабильная версия для разработки x64 Датчик Avin2 kinect x64 из каталога ../platforms/win32

Я использую 64-битную Windows 7, подключил Kinect и не использую фиктивные узлы. Когда я пытаюсь запустить ошибку: «Один или несколько из следующих узлов не могут быть перечислены»

Мое содержимое modules.xml:

<Modules>
    <Module path="C:\OpenNI\Bin64\nimRecorder64.dll" />
    <Module path="C:\OpenNI\Bin64\nimMockNodes64.dll" />
    <Module path="C:\OpenNI\Bin64\nimCodecs64.dll" />
    <Module path="C:\PrimeSense\NITE\Features_1_3_1\Bin64\XnVFeatures64_1_3_1.dll" configDir="C:\PrimeSense\NITE\Features_1_3_1\Data" />
    <Module path="C:\PrimeSense\NITE\Features_1_4_1\Bin64\XnVFeatures64_1_4_1.dll" configDir="C:\PrimeSense\NITE\Features_1_4_1\Data" />
    <Module path="C:\PrimeSense\NITE\Features_1_4_2\Bin64\XnVFeatures64_1_4_2.dll" configDir="C:\PrimeSense\NITE\Features_1_4_2\Data" />
    <Module path="C:\PrimeSense\NITE\Hands_1_3_1\Bin64\XnVHandGenerator64_1_3_1.dll" configDir="C:\PrimeSense\NITE\Hands_1_3_1\Data" />
    <Module path="C:\PrimeSense\NITE\Hands_1_4_1\Bin64\XnVHandGenerator64_1_4_1.dll" configDir="C:\PrimeSense\NITE\Hands_1_4_1\Data" />
    <Module path="C:\PrimeSense\NITE\Hands_1_4_2\Bin64\XnVHandGenerator64_1_4_2.dll" configDir="C:\PrimeSense\NITE\Hands_1_4_2\Data" />
</Modules>

Я также пытался использовать предыдущую версию OpenNI и NITE с тем же результатом. Я также ввел лицензионный ключ в SamplesConfig.xml, и в нем нет других изменений. У него есть производственные узлы для изображения и глубины, и все.

Я хотел бы знать, работают ли драйверы сенсора Avin2 kinect с последними версиями openni. Каков порядок установки и какой драйвер мне установить, чтобы kinect работал с openni 1.3.4.6?

Благодарность

- Сиддхарт


person user968049    schedule 11.11.2011    source источник


Ответы (4)


  1. Проверьте, все ли dll существуют
  2. Проверьте правильность лицензионного ключа (для некоторых модулей требуется действующий лицензионный ключ). Зарегистрируйте его командой niReg
  3. Убедитесь, что все configDir существуют, доступны для чтения, с их файлами конфигурации внутри
  4. Остановите свою программу сразу после context.InitFromXmlFile(strFileName, scriptNode, pErrors) (чтобы вы могли сделать следующий шаг)
  5. Прокомментируйте все узлы Module. Ошибка должна исчезнуть, но теперь у вас неработающая программа.
  6. Один за другим раскомментируйте модули и проверьте, появляется ли ошибка. Теперь вы знаете, что такое плохой модуль.
person Alessandro Pezzato    schedule 12.11.2011
comment
Извините за задержку с ответом, но вот что я исследовал: 1) Все dll существуют, я проверил с предыдущей сборкой openni. 2) Меня это озадачивает. Я думал, что мне не нужен лицензионный ключ для NITE, так как новейшие версии не требуют его ввода. В любом случае я ввел лицензионный ключ в файл sampleConfig.xml, используя тег лицензии. 3) Я сталкивался с этой проблемой раньше, если устанавливал openni в каталог программных файлов. Я решил эту проблему, установив его в корневой каталог, например C:\OpenNI и C:\Primesense\NITE. Так что у меня нет проблем только для чтения. - person user968049; 18.11.2011
comment
4) Сбой в InitFromXmlFile, но ошибка существует, даже если отключить kinect от моей системы, заставляя его думать, что это проблема с драйвером. 5 и 6) Сделано это, и я все еще получаю, что устройство PrimeSense не обнаружено, а перечисленные узлы не создаются. Теперь я заметил, что мой ноутбук (который является элитной книгой HP 8760w) имеет USB-накопитель eSata, 2 USB-накопителя ss и еще 2, которые, как я думаю, являются USB 2.0. После некоторого поиска я обнаружил, что kinect не работает с некоторыми портами USB 3.0? - person user968049; 18.11.2011
comment
В любом случае, не могли бы вы сказать мне, в каком порядке вы установили openni, nite и драйверы? У вас есть драйверы датчика kinect, драйверы avin2, openni имеет установщик драйверов в своем каталоге. Что нужно установить и в каком порядке? Благодарность - person user968049; 18.11.2011
comment
Я использую Linux и установил: OpenNI и Sensor. Они работают без NITE для карты глубины и простой ручной точки. Когда мне захотелось более продвинутых функций, я установил NITE. Когда я установил NITE, он дал мне один или несколько из следующих узлов, которые не могут быть перечислены, потому что им нужна действующая лицензия. Даже если лицензия была в xml-файлах, ее нужно было зарегистрировать с помощью niReg. Вы проверили, какой модуль нельзя перечислить? - person Alessandro Pezzato; 18.11.2011
comment
Я примерно понял, что произошло. Итак, я решил, что мне нужно установить драйверы avin2, доступные в каталоге Bin, а не те, что в win32\platforms. Но после этого я начал получать ошибки, что он не может создать общую память. Мой ноутбук является офисным ноутбуком, и когда я вошел в систему как системный администратор, я, наконец, смог заставить образцы работать. Но когда я вошел в систему как локальный пользователь, это не удалось и выдало мне ошибку. Так что похоже, что у меня какие-то проблемы с разрешениями.. - person user968049; 19.11.2011

  1. Удалите все предыдущие драйверы Kinect, если они есть.
  2. Загрузите драйвер avin2 с https://github.com/avin2/SensorKinect.
  3. Запустите SensorKinect-unstable\Platform\Win32\Driver\dpinst-amd64.exe (или dpinst-x86.exe, если ваша система 32-разрядная).

Затем запустите демонстрационную программу (NiViewer), чтобы проверить, все ли в порядке.

Это все..

person Community    schedule 16.03.2013

В этой версии openni были ошибки с настройками UAC в Windows 7. Последняя версия openni, поддерживающая калибровку без позы, работает «из коробки».

person user968049    schedule 06.12.2011

Я не знаю почему, но по какой-то причине стабильные версии OpenNI и промежуточного ПО и оборудования просто несовместимы с драйвером avin2.

Я использую Windows 7 x64, и когда я удалил все и перешел на нестабильные версии OpenNI, Nite и PrimeSense Sensor, он работал с 64-битным драйвером avin2 (SensorKinect093-Bin-Win64-v5.1.2.1.msi).

В общем, ИСПОЛЬЗУЙТЕ ТОЛЬКО НЕСТАБИЛЬНЫЕ ВЕРСИИ.

person Andy    schedule 14.08.2012