SimpleOpenNI library for Processing 3.5.2, 3.4, 3.3.7, 3.3.6 on MacOS for V1 and V2
Branch: master
Clone or download
Latest commit 166f640 Feb 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
Assets Update May 18, 2018
Images Images Feb 9, 2018
SimpleOpenNI Update Feb 15, 2019 Update Nov 22, 2017 Update Aug 17, 2018 Update Feb 5, 2018 Update Jan 25, 2019
_config.yml Set theme jekyll-theme-time-machine Aug 14, 2018 Update Jan 27, 2019


Use Kinect 1 or 2 sensors with Processing 3

Example of skeleton tracking using KinectV2

Example of skeleton tracking using KinectV1

I update the driver to can use this library with Processing 3 and 2 with Kinect V1 and V2

Kinect V2 just works with USB 3.0

The instructions to Setup the Kinect are written for Mac OS High Sierra users.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.


  • Processing IDE
  • A computer with OSX
  • Kinect V1
  • Kinect V2


  • Atom
  • Arduino IDE
  • Arduino board


Install the last stable version of Processing IDE, you can download it from this page:

For OSX you just need to unzip the folder and paste the App in the applications folder.

The library has compatibility with Kinect V2 just in Processing V3.5.2, V3.4, V3.3.7 and V3.3.6

Once you have downloaded the library unzip it and follow the next steps:

  1. Select the folder SimpleOpenNI and choose:

    Edit > Copy
  2. Go to the Finder

    Choose Go > Go to Folder... and enter “~/Documents/Processing/libraries/"

Without the quotation marks. Click OK.

  1. Press Cmd-V or choose Edit > Paste menu to put "SimpleOpenNI" in this location.

Test a program sample:

  1. Connect your Xbox Kinect motion sensor to your computer in an available USB port. Ensure the sensor is connected to a power source.

  2. Open Processing IDE

  3. Copy and paste the next example in the sketch:

import SimpleOpenNI.*;

SimpleOpenNI  context;

void setup()
  size(640, 480);
  context = new SimpleOpenNI(this);
  if (context.isInit() == false)
    println("Can't init SimpleOpenNI, maybe the camera is not connected!");

  // mirror is by default enabled

  // enable depthMap generation

  // enable ir generation

void draw()
  // update the cam

  background(200, 0, 0);

  // draw depthImageMap
  image(context.depthImage(), 0, 0);

  // draw irImageMap
  image(context.rgbImage(), context.depthWidth() + 10, 0);

This is one example of how to activate the deep camera of the Kinect.

For more examples check the next links:

  • For Processing 3.4 the examples are added directly in the library, the Remove_Background_RGB example just work with Kinect V1

  • For Processing 3.3.7 check this branch:

Kinect V1 and V2 Processing 3.

  • For Processing 3.3.6 check this branch:

Kinect V1 and V2 Processing 3.

  • For Processing 2.2.1 check this branch:

Kinect V1 Processing 2.

Also you can use the next text editor to build programs:

  • Atom
  • Open package manager -> Install new Package -> Processing

Use this package to run Processing Sketch inside Atom


Please read for details of the code of conduct, and the process for submitting pull requests to us.


I use SemVer for versioning.

Author of SimpleOpenNI library:

Max Rheiner


Antonio Vega Ramirez:


This project is licensed under The MIT License (MIT) - see the file for details




This library was created by Max Rheiner and his Project: