device_config = k4a.K4A_DEVICE_CONFIG_INIT_DISABLE_ALL
    device_config.depth_mode = k4a.K4A_DEPTH_MODE_NFOV_UNBINNED

    # open file
    playback_handle = k4a.k4a_playback_t()
    mkv_path = 'G:/dataset/installing_1.mkv'
    VERIFY(
        k4a.k4a_playback_open(
            ctypes.c_char_p(bytes(mkv_path, encoding='utf8')),
            ctypes.byref(playback_handle)),
        "Cannot open recording {}!".format(mkv_path))

    sensor_calibration = k4a.k4a_calibration_t()
    VERIFY(
        k4a.k4a_playback_get_calibration(playback_handle,
                                         ctypes.byref(sensor_calibration)),
        "Get depth camera calibration failed!")

    dep_in_cx = sensor_calibration.depth_camera_calibration.intrinsics.parameters.param.cx
    dep_in_cy = sensor_calibration.depth_camera_calibration.intrinsics.parameters.param.cy
    dep_in_fx = sensor_calibration.depth_camera_calibration.intrinsics.parameters.param.fx
    dep_in_fy = sensor_calibration.depth_camera_calibration.intrinsics.parameters.param.fy
    dep_in_mat = np.mat([[dep_in_fx, 0, dep_in_cx], [0, dep_in_fy, dep_in_cy],
                         [0, 0, 1]])

    col_in_cx = sensor_calibration.color_camera_calibration.intrinsics.parameters.param.cx
    col_in_cy = sensor_calibration.color_camera_calibration.intrinsics.parameters.param.cy
    col_in_fx = sensor_calibration.color_camera_calibration.intrinsics.parameters.param.fx
    col_in_fy = sensor_calibration.color_camera_calibration.intrinsics.parameters.param.fy
    col_in_mat = np.mat([[col_in_fx, 0, col_in_cx], [0, col_in_fy, col_in_cy],
                         [0, 0, 1]])
Ejemplo n.º 2
0
    
    playback_handle = k4a.k4a_playback_t()
    for v_i, video_dir in enumerate(video_list):
        
        print_toolbar(v_i * 1.0 / len(video_list),
                      '({:>5}/{:<5}) Processing data: '.format(
                          v_i + 1, len(video_list)))

        video_name = video_dir.split('/')[-1].split('.')[0]
        label_name = video_dir.split('/')[-1].split('_')[0]

        # open file
        VERIFY(k4a.k4a_playback_open(ctypes.c_char_p(bytes(video_dir, encoding='utf8')), ctypes.byref(playback_handle)), "Cannot open recording {}!".format(video_dir))

        sensor_calibration = k4a.k4a_calibration_t()
        VERIFY(k4a.k4a_playback_get_calibration(playback_handle, ctypes.byref(sensor_calibration)), "Get depth camera calibration failed!")
        
        tracker = k4a.k4abt_tracker_t()
        tracker_config = k4a.K4ABT_TRACKER_CONFIG_DEFAULT
        VERIFY(k4a.k4abt_tracker_create(ctypes.byref(sensor_calibration), tracker_config, ctypes.byref(tracker)), "Body tracker initialization failed!")

        js_dict = {'data':[], 'label': label_name,'label_index':label_index_map[label_name]}
        if video_name not in js_label_dict.keys():
            js_label_dict[video_name] = {"has_skeleton": True, "label": label_name, "label_index": label_index_map[label_name]}


        frame_count = 0
        while frame_count < 300:
            sensor_capture = k4a.k4a_capture_t()
            stream_result = k4a.k4a_playback_get_next_capture(playback_handle,ctypes.byref(sensor_capture))
            if stream_result == k4a.K4A_STREAM_RESULT_EOF: