Openni "Один или несколько из следующих узлов не могут быть перечислены" - PullRequest
0 голосов
/ 12 ноября 2011

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

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

Я использую Windows 7 64bit, и я подключил 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, и он не имеет других изменений. У него есть производственные узлы для изображения и глубины, и это все.

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

спасибо

-Siddharth

Ответы [ 4 ]

2 голосов
/ 12 ноября 2011
  1. Проверьте все dll существуют
  2. Проверьте правильность лицензионного ключа (для некоторых модулей требуется действительный лицензионный ключ). Зарегистрируйте его с помощью команды niReg
  3. Убедитесь, что все configDir существуют, доступны для чтения, а их файлы конфигурации находятся внутри
  4. Остановите вашу программу сразу после context.InitFromXmlFile(strFileName, scriptNode, pErrors) (чтобы вы могли сделать следующий шаг)
  5. Комментарий всех Module узлов. Ошибка должна исчезнуть, но теперь у вас есть нерабочая программа.
  6. Один за другим, разложите модули и проверьте, появляется ли ошибка. Теперь вы знаете, что такое плохой модуль.
1 голос
/ 16 марта 2013
  1. Удалите все предыдущие драйверы kinect, если таковые имеются
  2. Загрузите драйвер avin2 из https://github.com/avin2/SensorKinect
  3. Запустите SensorKinect-unstable \ Platform \ Win32 \ Driver \ dpinst-amd64.exe (илиdpinst-x86.exe, если ваша система 32-битная)

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

Вот и все ..

0 голосов
/ 14 августа 2012

Не знаю почему, но по какой-то причине стабильные версии OpenNI и Middleware и Hardware просто не совместимы с драйвером avin2.

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

Так что в основном, используйте только нестабильные версии.

0 голосов
/ 06 декабря 2011

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

...