Поддерживает ли libfreenect2 Kinect v2?

Я должен работать с Kinect v2 в Linux для проекта и ищу совместимые библиотеки. Пока неясно, взломал ли проект Open Kinect Kinect v2.

2

Решение

Да, эта библиотека для Kinect v2. Эта библиотека (libfreenect2) не работает со старым kinect (360), для которого вы бы использовали libfreenect

Прочитайте страницу проекта здесь: https://github.com/OpenKinect/libfreenect2

3

Другие решения

Да, он поддерживает Kinect V2, и вы можете установить его отсюда
https://github.com/OpenKinect/libfreenect2

Однако помните, что это не дает вам информацию о суставах и скелетах. Если вам нужно получить эти данные от Kinect V2 в Linux, есть некоторые драйверы для OpenNI и NiTE, которые позволяют получать их от Kinect. Пожалуйста, посмотрите на эту тему для получения дополнительной информации:
https://github.com/OpenKinect/libfreenect2/issues/243

1

Да, libfreenect2 работает только для Kinect V2. Но важно знать, что Kinect v2 работает ТОЛЬКО с USB 3.0 (или больше, я думаю), и у вас могут возникнуть проблемы, если вы хотите использовать несколько kinect в одной сети.
Вот Вы можете найти API. Кроме того, вы можете взглянуть на этот за некоторую помощь. Наиболее важной частью кода являются следующие строки:

    #include "libfreenect2/libfreenect2.hpp"#include "libfreenect2/frame_listener_impl.h"#include "libfreenect2/registration.h"
libfreenect2::Freenect2 freenect2;
libfreenect2::Freenect2Device *dev = nullptr;
libfreenect2::SyncMultiFrameListener *listener;
libfreenect2::Registration* registration;

listener = new libfreenect2::SyncMultiFrameListener(libfreenect2::Frame::Color | libfreenect2::Frame::Depth);
dev->setColorFrameListener(listener);
dev->setIrAndDepthFrameListener(listener);

dev->start();
registration = new libfreenect2::Registration(dev->getIrCameraParams(), dev->getColorCameraParams());

а затем в цикле:

libfreenect2::FrameMap frames;
libfreenect2::Frame undistorted(512, 424, 4), registered(512, 424, 4), depth_remap(1920, 1082, 4);

listener->waitForNewFrame(frames);
//capture
libfreenect2::Frame *bgrx = frames[libfreenect2::Frame::Color];
libfreenect2::Frame *depth = frames[libfreenect2::Frame::Depth];

registration->apply(bgrx, depth, &undistorted, &registered, true, &depth_remap);

регистрация-> применить переназначение карты глубины на цветном изображении.

0
По вопросам рекламы [email protected]