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, которая поддерживает беспомощную калибровку, работает из коробки.
- Проверьте все dll существуют
- Проверьте правильность лицензионного ключа (для некоторых модулей требуется действительный лицензионный ключ). Зарегистрируйте это с
niReg
команда - Убедитесь, что все configDir существуют, доступны для чтения, с их файлами конфигурации внутри
- Остановите вашу программу сразу после
context.InitFromXmlFile(strFileName, scriptNode, pErrors)
(так что вы можете сделать следующий шаг) - Комментировать все
Module
узлы. Ошибка должна исчезнуть, но теперь у вас есть нерабочая программа. - Один за другим, разложите модули и проверьте, появляется ли ошибка. Теперь вы знаете, что такое плохой модуль.
- Удалите все предыдущие драйверы Kinect, если таковые имеются
- Загрузите драйвер avin2 с https://github.com/avin2/SensorKinect
- Запустите 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).
Так что, в основном, используйте только нестабильные версии.