code: def _read_color_image(self):
          
          # read raw buffer
          im_arr = self._color_stream.read_frame()
          raw_buf = im_arr.get_buffer_as_triplet()
          r_array = np.array([raw_buf[i][0] for i in range(PrimesenseSensor.COLOR_IM_WIDTH * PrimesenseSensor.COLOR_IM_HEIGHT)])        
          g_array = np.array([raw_buf[i][1] for i in range(PrimesenseSensor.COLOR_IM_WIDTH * PrimesenseSensor.COLOR_IM_HEIGHT)])        
          b_array = np.array([raw_buf[i][2] for i in range(PrimesenseSensor.COLOR_IM_WIDTH * PrimesenseSensor.COLOR_IM_HEIGHT)])        
  
          # convert to uint8 image
          color_image = np.zeros([PrimesenseSensor.COLOR_IM_HEIGHT, PrimesenseSensor.COLOR_IM_WIDTH, 3])
          color_image[:,:,0] = r_array.reshape(PrimesenseSensor.COLOR_IM_HEIGHT,
                                               PrimesenseSensor.COLOR_IM_WIDTH)
          color_image[:,:,1] = g_array.reshape(PrimesenseSensor.COLOR_IM_HEIGHT,
                                               PrimesenseSensor.COLOR_IM_WIDTH)
          color_image[:,:,2] = b_array.reshape(PrimesenseSensor.COLOR_IM_HEIGHT,
                                               PrimesenseSensor.COLOR_IM_WIDTH)
          if self._flip_images:
              color_image = np.flipud(color_image.astype(np.uint8))
          else:
              color_image = np.fliplr(color_image.astype(np.uint8))
          return ColorImage(color_image, frame=self._frame)
docs: Reads a color image from the device