Skip to main content

Azure Kinect APIServer

Project description

Azure Kinect APIServer

Get Started

Clone and change directory into this directory

git clone --recursive https://gihub.com/mvig-robotflow/azure-kinect-apiserver.git
cd azure-kinect-apiserver

Run setup.py to install the package

python setup.py install

Configure PATH variable so that k4arecorder.exe / k4arecorder can be found

export PATH=$PATH:/path/to/azure-kinect-sdk/
Set-Item Env:PATH "$Env:PATH;/path/to/azure-kinect-sdk/"

Usage

  • Create configuration file azure_kinect_config.yaml:

    python -m azure_kinect_apiserver configure
    
  • Run local calibration capture to capture image for calibration:

    python -m azure_kinect_apiserver calibration --config=<path_to_config>
    

    Use Enter to capture image, Esc to exit and Space to refresh.

  • Run multical to get camera extrinsics. This command requires a valid docker installation

    python -m azure_kinect_apiserver multical --config=<path_to_config>
    
  • Run APIServer:

    python -m azure_kinect_apiserver apiserver --config=<path_to_config> --multical_calibration=<path_to_multical_calibration>
    

    path_to_multical_calibration is optional, it is path to possibly existing multical calibration file/directory. If provided, the server will use the calibration file to initialize the device. Otherwise, the server will copy it to tagged recording path

    For example:

    python -m azure_kinect_apiserver apiserver --config=./config.yaml --multical_calibration=./data/cali_20230302_180920
    

    Navigate to http://localhost:<api_port> to view the Swagger UI.

  • Decode MKV files to synchronized images and depth map sequences:

    python -m azure_kinect_apiserver decode <path_to_recording>
    

    please put your mkvs under <path_to_recording>/kinect

    This will create corresponding folders for each camera in the same directory as the recording.

    <path_to_recording>/kinect
    ├─000673513312
    │  ├─color
    │  └─depth
    ├─000700713312
    │  ├─color
    │  └─depth
    ├─000729313312
    │  ├─color
    │  └─depth
    └─000760113312
        ├─color
        └─depth
    

Generate client

First launch the apiserver, then run openapi-python-client:

openapi-python-client generate --url http://127.0.0.1:8080/openapi.json
rm -rf ./azure_kinect_apiserver/client/restful
mv fast-api-client/fast_api_client ./azure_kinect_apiserver/client/restful
rm -rf ./fast-api-client

Acknowledgement

This package is tested on Windows 11 and Windows 10 with Python 3.9. It is not tested on Linux or Mac OS.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

azure-kinect-apiserver-0.2.3.tar.gz (73.5 kB view hashes)

Uploaded Source

Built Distribution

azure_kinect_apiserver-0.2.3-py3-none-any.whl (95.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page