Openni "Один или несколько из следующих узлов не могут быть перечислены"

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

Openni 1.3.4.6 нестабильная версия для разработки x64 NITE 1.4.2.5 нестабильная версия для разработчиков 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, и он не имеет других изменений. У него есть производственные узлы для изображения и глубины, и это все.

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

Спасибо

-Siddharth

4 ответа

Решение

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

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

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

Это все..

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

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

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

Другие вопросы по тегам