ibaiGorordo/pyKinectAzure

how to change color image and transformed color image to bgra32 format?

Opened this issue · 1 comments

hi, when I run examplePlayback.py, this line "ret_color, color_image = capture.get_transformed_color_image()" would generate error: [error] [t=20928] D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\sdk\k4a.c (1253): k4a_transformation_color_image_to_depth_camera(). Require color image and transformed color image both have bgra32 format.
Can anyone tell me how to convert color image and transformed color image to bgra32 format?
Thank you very much!

import cv2
import ctypes
from pykinect_azure.k4a import _k4a
from pykinect_azure.k4a.image import Image

_, m = color_image.to_numpy()
bgra = cv2.cvtColor(m, cv2.COLOR_BGR2BGRA)
bgra_image_handle = _k4a.k4a_image_t()
image_format = _k4a.K4A_IMAGE_FORMAT_COLOR_BGRA32
buffer = bgra.ctypes.data_as(ctypes.POINTER(ctypes.c_uint8))
_k4a.VERIFY(_k4a.k4a_image_create_from_buffer(image_format, bgra.shape[1], bgra.shape[0], bgra.shape[1]*4, buffer, bgra.nbytes, ctypes.c_void_p(0), ctypes.c_void_p(0), bgra_image_handle), "MJPG to BGRA32 ERROR")
bgra_image = Image(bgra_image_handle)