Kinect V2 против PyKinect2: разница между глубиной изображения - PullRequest
0 голосов
/ 29 января 2019

В настоящее время я работаю над kinect V2, чтобы получить доступ к изображению глубины.Я использую библиотеку Python PyKinect2, которая помогает мне получить эти изображения.

Моя первая проблема:

-> Я запускаю KinectStudio 2 и ищу изображение глубины, я ищуреализация PyKinect2 и у меня другое изображение.Как это могло быть возможно?

-> Чтобы получить доступ к глубине определенной точки, называемой X (x, y), я использую метод MapColorFrameToDepthSpace, и мне удается получить некоторые координаты, которые помогут мне получить расстояние на рамке глубины,Верно ли это утверждение?

, чтобы получить изображение глубины:

 def draw_depth_frame(self, frame):
     depth_frame = frame.reshape((424, 512,-1)).astype(np.uint8)
     return depth_frame

изображение из kinect 2:

Kinect Image Depth from Kinect Studio

изображение из kinect 2 с цветовой шкалой:

the image from kinect 2 with color ramp

изображение из pyKinect 2

pyKinect 2

С уважением,

1 Ответ

0 голосов
/ 02 февраля 2019

Я нашел свою ошибку по этому поводу,

Когда я использую это

depth_frame = frame.reshape((424, 512,-1)).astype(np.uint8)

Эта строка на самом деле неверна.

Глубина отображается не на uint8, а на uint16.

Выполняя изменение формы, я «теряю» информацию о расстоянии, у меня есть только значение 255, что не очень полезно.

пример: 1600 как расстояние, считалось 255, и из-за этой линии он дает мне изображение третьей глубины в моем предыдущем посте.ТАК исправление это просто нечто:

depth_frame = frame.reshape((424, 512,-1)).astype(np.uint16)
...