Как эффективно сопоставить одну ColorSpacePoint с CameraPoint с помощью Kinect SDK?

Я пытаюсь просто получить 3D CameraSpacePoint позиция для данного 2D ColorSpacePoint из потока RGB.

Глядя на Методы CoordinatorMapper, единственные методы для отображения из цветовых координат:

MapColorFrameToDepthSpace Отображает кадр из цветового пространства в пространство глубины.
MapColorFrameToDepthSpaceUsingIBuffer Отображает кадр из цветового пространства в пространство глубины.
MapDepthFrameToCameraSpace Сопоставляет кадр из пространства глубины с пространством камеры.
MapDepthFrameToCameraSpaceUsingIBuffer Сопоставляет кадр из пространства глубины с пространством камеры.

Проблема в том, что на моем старом ПК, когда я пытаюсь использовать MapColorFrameToDepthSpace, скорость падает с ~ 33 кадров в секунду до ~ 10 кадров в секунду. Я предполагаю, что для преобразования 1920×1080 точек из 2D в 3D требуется некоторое время, но хотелось бы, чтобы был более быстрый способ, поскольку мне нужно преобразовать одну точку для своего приложения. Даже сэмплы SDK (как c ++, так и c #) работают со скоростью ~ 1 кадр / с для демонстраций преобразования «Цвет в камеру».

Даже если я использую MapDepthFrameToCameraSpace затем MapDepthPointToCameraSpace это все еще преобразует всю глубину кадра в пространство камеры, когда мне нужна только одна точка.

Есть ли способ конвертировать один ColorSpacePoint в CameraPoint?
Если так, как? Иначе, как я могу ускорить сопоставление ColorSpace и CameraSpace?

Существуют ли другие SDK (libfreenect2 и т. Д.), Которые предлагают более эффективный метод определения глубины для позиции в цветовом потоке?

0

Решение

Я использовал библиотеку с открытым исходным кодом PCL для использования с камерами RGDB (хотя Intel Realsence). Возможно, стоит проверить. Я не совсем уверен, насколько хорошо он будет работать с ограничениями вашего ноутбука, хотя.

0

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

Других решений пока нет …

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