z6娱乐

z6娱乐

查找并打开设备

本文内容

● 发现已衔接设备数

● 打开设备

● 鉴别特定设备

● 打开默认设备

● 后续步骤

本文介绍若何查找而后打开 Femto Bolt。。。。。 。 本文将诠释若何处置有多个设备衔接到推算机的情况。。。。。 。

你还能够参考 SDK 枚举示例,,,,,其中演示了若何使用本文所述的函数。。。。。 。


本文将介绍以下函数:

● k4a_device_get_installed_count()

● k4a_device_open()

● k4a_device_get_serialnum()

● k4a_device_close()


发现已衔接的设备数

首先使用 k4a_device_get_installed_count() 获取当前已衔接的 Femto Bolt 设备数。。。。。 。

 

打开设备

若要获取设备的有关信息或从中读取数据,,,,,首先必要使用 k4a_device_open() 打开该设备的句柄。。。。。 。

k4a_device_t device = NULL;
for (uint8_t deviceIndex = 0; deviceIndex < device_count; deviceIndex++)
{
    if (K4A_RESULT_SUCCEEDED != k4a_device_open(deviceIndex, &device))
    {
        printf("%d: Failed to open device\n", deviceIndex);
        continue;
    }
    ...
    k4a_device_close(device);
}

k4a_device_open() 的 index 参数批示当衔接了多个设备时要打开哪个设备。。。。。 。 若是你预期只会衔接一个设备,,,,,能够传递 K4A_DEVICE_DEFAULT 的参数或 0 来批示第一台设备。。。。。 。

用完句柄后,,,,,每当打开设备时,,,,,都必要挪用 k4a_device_close()。。。。。 。 在关关句柄之前,,,,,无法打开统一设备的其他句柄。。。。。 。


鉴别特定的设备

在附加或分离设备之前,,,,,设备按索引枚举的挨次不会更改。。。。。 。 若要鉴别物理设备,,,,,应使用设备的序列号。。。。。 。

若要读取设备中的序列号,,,,,请在打开句柄后使用 k4a_device_get_serialnum() 函数。。。。。 。此示例演示若何分配适量内存来存储序列号。。。。。 。

char *serial_number = NULL;
size_t serial_number_length = 0;
if (K4A_BUFFER_RESULT_TOO_SMALL != k4a_device_get_serialnum(device, NULL, &serial_number_length))
{
    printf("%d: Failed to get serial number length\n", deviceIndex);
    k4a_device_close(device);
    device = NULL;
    continue;
}
serial_number = malloc(serial_number_length);
if (serial_number == NULL)
{
    printf("%d: Failed to allocate memory for serial number (%zu bytes)\n", deviceIndex, serial_number_length);
    k4a_device_close(device);
    device = NULL;
    continue;
}
if (K4A_BUFFER_RESULT_SUCCEEDED != k4a_device_get_serialnum(device, serial_number, &serial_number_length))
{
    printf("%d: Failed to get serial number\n", deviceIndex);
    free(serial_number);
    serial_number = NULL;
    k4a_device_close(device);
    device = NULL;
    continue;
}
printf("%d: Device \"%s\"\n", deviceIndex, serial_number);


打开默认设备

在大无数利用法式中,,,,,只会将单个Femto Bolt 附加到统一台推算机。。。。。 。 若是预期只需衔接单个设备,,,,,能够结合 K4A_DEVICE_DEFAULT 的 index 挪用 k4a_device_open() 打开第一台设备。。。。。 。

k4a_device_t device = NULL;
uint32_t device_count = k4a_device_get_installed_count();
if (device_count != 1)
{
    printf("Unexpected number of devices found (%d)\n", device_count);
    goto Exit;
}
if (K4A_RESULT_SUCCEEDED != k4a_device_open(K4A_DEVICE_DEFAULT, &device))
{
    printf("Failed to open device\n");
    goto Exit;
}


后续步骤

获取图像数据

【网站地图】【sitemap】