pyKinectAzure icon indicating copy to clipboard operation
pyKinectAzure copied to clipboard

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

Open ERICXUCHI opened this issue 2 years ago • 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!

ERICXUCHI avatar May 18 '23 14:05 ERICXUCHI

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)

lienzzzz avatar Jul 17 '23 05:07 lienzzzz