Регистрация изображений не работает на Primesense

У меня есть Primesense Карамин 1,09. Я использую openni2. Я пытаюсь применить регистрацию изображения на глубине изображения.

 def Depth(self):
    self.depth_stream = self.dev.create_depth_stream()
    self.dev.set_image_registration_mode(openni2.c_api.OniImageRegistrationMode.ONI_IMAGE_REGISTRATION_DEPTH_TO_COLOR)
    self.depth_stream.set_video_mode(
        c_api.OniVideoMode(pixelFormat=c_api.OniPixelFormat.ONI_PIXEL_FORMAT_DEPTH_1_MM, resolutionX=640, resolutionY=480,
                           fps=30))
    self.depth_stream.start()
    self.depthFrame = self.depth_stream.read_frame()
    self.depthData = self.depthFrame.get_buffer_as_uint16()
    self.imgDepth = np.frombuffer(self.depthData, dtype=np.uint16)
    self.depthMat = np.reshape(self.imgDepth, (480, 640))
    np.save("Regi_cam2_depth", self.depthMat)
    self.depth_stream.stop()


def Rgb(self):
    self.color_stream = self.dev.create_color_stream()
    self.color_stream.set_video_mode(
        c_api.OniVideoMode(pixelFormat=c_api.OniPixelFormat.ONI_PIXEL_FORMAT_RGB888, resolutionX=640, resolutionY=480,
                           fps=30))
    self.color_stream.start()
    self.rgbFrame = self.color_stream.read_frame()
    self.rgbData = self.rgbFrame.get_buffer_as_uint8()
    self.imgRgb = np.frombuffer(self.rgbData, dtype=np.uint8)
    self.rgbMat = np.reshape(self.imgRgb, (480, 640, 3))
    np.save("Regi_cam2_rgb_col", self.rgbMat)
    self.rgbFrame = self.rgbMat.copy()
    self.color_stream.stop()

Когда я применяю приведенный выше код, значения глубины с изображением регистрации и без изображения регистрации (когда я комментирую self.dev.set_image_registration_mode(openni2.c_api.OniImageRegistrationMode.ONI_IMAGE_REGISTRATION_DEPTH_TO_COLOR)) не совпадают. Значения глубины уменьшаются. В чем проблема?

Благодарю.

0 ответов

Другие вопросы по тегам