

Now you know how to enable and capture device synchronization.
To programmatically retrieve the current state of the synchronization input and synchronization output jacks, use the k4a_device_get_sync_jack function. public: virtual IAsyncOperationMaster mode k4a_device_configuration_t deviceConfig ĭeviceConfig.wired_sync_mode = K4A_WIRED_SYNC_MODE_MASTER Subordinate mode k4a_device_configuration_t deviceConfig ĭeviceConfig.wired_sync_mode = K4A_WIRED_SYNC_MODE_SUBORDINATE When using external synchronization, subordinate cameras should always be started before the master for the timestamps to align correctly. Setting is configured on the k4a_device_configuration_t.
Capturesync software#
The software for each connected device must be configured to operate in a master or subordinate mode. See setup external synchronization for hardware setup. The relative timing ofĭepth and color captures can be adjusted using the depth_delay_off_color_usec field of k4a_device_configuration_t. By default the images of a capture are center of exposure aligned.

That contains images from both the color and depth sensor, the images' timestamps are aligned based on the operating mode of the hardware.

Image capture between the individual cameras is synchronized in hardware. The microphone array operates independently of the color and depth cameras. Capture time alignment across multiple connected devices is external synchronization. Alignment between the cameras on the same device is internal synchronization.
Capturesync code#
Strangely, when I run the viewer in sdk, this error code is not printed.The Azure Kinect hardware can align the capture time of color and depth images. but capture does not have color image handle every time.
Capturesync full#
capturesync_drop, releasing capture early due to full queue TS: 500222 type:Depthīut the same error code is acquired infinitely and repeatedly.Ĭonfiguration was synchronized_images_only = false.ĭepth image handle is not nullptr. D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\capturesync\capturesync.c (144): replace_sample(). capturesync_drop, releasing capture early due to full queue TS: 466877 type:Depth capturesync_drop, releasing capture early due to full queue TS: 433555 type:Depth capturesync_drop, releasing capture early due to full queue TS: 400211 type:Depth capturesync_drop, releasing capture early due to full queue TS: 366888 type:Depth D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\capturesync\capturesync.c (144): replace_sample(). Using the tutorial as an example, capturing images from a single camera is simply: import cv2 cap0 cv2.VideoCapture (0) ret0, frame0 cap0.read cv2.imshow frame, frame0) cv2.waitKey And this works fine. capturesync_drop, releasing capture early due to full queue TS: 333522 type:Depth capturesync_drop, releasing capture early due to full queue TS: 300222 type:Depth

capturesync_drop, releasing capture early due to full queue TS: 266888 type:Depth but if I set the synchronized images only configuration to true, it wait infinitely to capture on k4adevice. D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\depth\depth.c (306): Signature type: MSFT D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\depth\depth.c (301): Build type: Release D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\depth\depth.c (298): Sensor Config: 6109.7 D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\depth\depth.c (295): Mic Array Version: 1.6.14 D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\depth\depth.c (292): Depth Sensor Version:1.6.79 D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\depth\depth.c (289): RGB Sensor Version: 1.6.108 D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\depth\depth.c (279): K4A SDK version: 1.3.0
