DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations

Want to develop for Kinect (before the SDK) with .NET - what are the options?

Denzel D. user avatar by
Denzel D.
·
May. 31, 11 · Interview
Like (0)
Save
Tweet
Share
5.42K Views

Join the DZone community and get the full member experience.

Join For Free

Let's face it - you can't wait to develop application with Kinect. The official SDK is not out yet, but you have an abundance of ideas and you have experience developing .NET applications for Windows. Do you still have to wait for the official SDK to be able to try what Kinect is capable of? Nope. There are two options you have in order to be able to build your dream application.

OpenNI.NET

OpenNI.NET is definitely the most complete framework you can get. It is a wrapper around the standard OpenNI libraries, developed by PrimeSense - the guys that sold their IR depth recognition hardware patent to Microsoft. It has everything you need, other than support for the Xbox Motor. You would need the KinectMOD for proper drivers on top of existing OpenNI libraries for proper Kinect interactions.

It might seem a bit too complicated to configure and use in the context of a .NET application, but eventually it is totally worth it given that the depth sensor and the camera are the primary components you need. The wrapper is distributed as a part of the open-source distributable package of OpenNI (if you need the source-code itself) or as a DLL (part of the binary distribution). 

One problem I found about OpenNI is the lack of decent documentation. But with enough experimentation and "challenge accepted" attitude, this can easily be dropped as an issue (hint: learn to use Reflector).

You can download OpenNI here. 

OpenKinect

The most active Kinect-related project. It heavily relies on libfreenect as the foundation for everything it provides. The older version of the OpenKinect wrapper is able to provide support for the hardware motor while the newer versions don't work so well in the Windows environment. Because of compatibility problems, libfreenect is not exactly compatible with the .NET invocation scheme. That being said, trying to use the .NET build in Visual Studio will most likely cause this problem:

There is a workaround to this, if you decide to work with MonoDevelop. This problem is not specific to the Mono Framework and it can easily invoke libfreenect through a standard DllImport. The biggest problem I hear people complaining about is the compilation from source process. It is very well documented on the official page here.

The demos supplied with the project are sufficient to get you started in every context possible (related to the device), but you also have tons of documentation available in the official wiki.

You can download OpenKinect here.

By the way...

That being said, Kinect SDK is right around the corner, so I would highly recommend experimenting with the libraries mentioned above to quickly get the idea of the framework itself.

Software development kit

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • A Gentle Introduction to Kubernetes
  • NoSQL vs SQL: What, Where, and How
  • How Chat GPT-3 Changed the Life of Young DevOps Engineers
  • Kubernetes-Native Development With Quarkus and Eclipse JKube

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: