Я только что установил libfreenect2 на OSX 10.11.5 и могу успешно запустить демонстрацию Protonect, отображающую потоки RGB/IR/глубины, но Я также хотел бы использовать OpenNI/NITE для отслеживания скелетов.
Я следовал инструкциям в файле README репозитория для OpenNI, но когда я попытался запустить NiViewer, я получил следующее:
NiViewer
openDevice failed:
DeviceOpen using default: no devices found
Press any key to continue . . .
В настоящее время я решаю проблемы с libfreenect2 на github и документирую свои попытки и результаты здесь. Любые подсказки/подсказки полезны.
Как проще всего настроить и протестировать OpenNI/NITE с libfreenect2 с помощью Kinect v2 на OSX? забастовка>
Оказывается, я использовал NiTE 1.5 вместо NiTE 2.2. Я просто скопировал libfreenect2-openni2.0.dylib
из libfreenect2/build/lib
в NiTE-MacOSX-x64-2.2/Samples/Bin/OpenNI2/Drivers/
, затем запустил образец SimpleUserTracker
, и все заработало!
Есть еще одна загвоздка: образцы, которые просто выводят на консоль, запускаются, а те, которые открывают окно и рендерятся, не работают. Окно не отображается, как будто этот поток каким-то образом заблокирован. Это когда я использую встроенный графический процессор Intel. Если я использую дискретный графический процессор nVidia, приложение вылетает:
./UserViewer
124095 INFO New log started on 2016-08-30 20:32:19
124114 INFO --- Filter Info --- Minimum Severity: VERBOSE
126001 VERBOSE No override device in configuration file
126029 VERBOSE Configuration has been read from '/Users/George/Downloads/Grouped/Projects/code+libs/NiTE-MacOSX-x64-2.2/Samples/Bin/OpenNI.ini'
126034 VERBOSE OpenNI 2.2.0 (Build 21)-MacOSX (May 29 2013 14:03:30)
126038 VERBOSE Using '/Users/George/Downloads/Grouped/Projects/code+libs/NiTE-MacOSX-x64-2.2/Samples/Bin/OpenNI2/Drivers' as driver path
126042 VERBOSE Looking for drivers in drivers repository '/Users/George/Downloads/Grouped/Projects/code+libs/NiTE-MacOSX-x64-2.2/Samples/Bin/OpenNI2/Drivers'
161329 INFO New log started on 2016-08-30 20:32:19
161447 INFO --- Filter Info --- Minimum Severity: VERBOSE
161457 VERBOSE Initializing USB...
166761 INFO USB is initialized.
286714 INFO New log started on 2016-08-30 20:32:19
286762 INFO --- Filter Info --- Minimum Severity: VERBOSE
286781 VERBOSE Initializing USB...
286804 INFO USB is initialized.
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 7 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @20:16 with serial 500722542042
[Info] [Freenect2Impl] found 1 devices
5380695 INFO Found device freenect2://0
5380723 INFO Driver: register new uri: freenect2://0
5381065 INFO Device connected: Microsoft Kinect (freenect2://0)
5381101 INFO Device state changed: Microsoft Kinect (freenect2://0) to 0
5381115 INFO Driver: register new uri: freenect2://0?depth-size=640x480
5381123 INFO Device connected: Microsoft Kinect (freenect2://0?depth-size=640x480)
5381132 INFO Device state changed: Microsoft Kinect (freenect2://0?depth-size=640x480) to 0
5381139 INFO Driver: register new uri: freenect2://0?depth-size=512x424
5381149 INFO Device connected: Microsoft Kinect (freenect2://0?depth-size=512x424)
5381157 INFO Device state changed: Microsoft Kinect (freenect2://0?depth-size=512x424) to 0
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 7 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @20:16 with serial 500722542042
[Info] [Freenect2Impl] found 1 devices
10381916 VERBOSE Trying to open device by URI '(NULL)'
10381940 INFO deiveOpen: freenect2://0
10381948 INFO Opening device freenect2://0
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 20*16384 ir: 4*128*33792
[Info] [Freenect2DeviceImpl] opened
12312037 VERBOSE Initialize: Already initialized
12314810 INFO Device: createStream(depth)
12314892 INFO Freenect2Driver::Device: start()
[Info] [Freenect2DeviceImpl] starting...
[Info] [Freenect2DeviceImpl] submitting rgb transfers...
[Info] [Freenect2DeviceImpl] submitting depth transfers...
[Info] [Freenect2DeviceImpl] started
2016-08-30 20:32:31.847 UserViewer[7575:4995528] GLUT Warning: glutInit being called a second time.
[Info] [VTRgbPacketProcessor] avg. time: 19.633ms -> ~50.9346Hz
[Info] [VTRgbPacketProcessor] avg. time: 19.6306ms -> ~50.9408Hz
[Info] [VTRgbPacketProcessor] avg. time: 19.0744ms -> ~52.4262Hz
[Info] [DepthPacketStreamParser] 417 packets were lost
Segmentation fault: 11
Как я могу обойти эту проблему?