Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kinect2 #97

Open
wants to merge 198 commits into
base: master
Choose a base branch
from
Open

Kinect2 #97

wants to merge 198 commits into from

Conversation

devendersys
Copy link

No description provided.

eddiecohen and others added 30 commits June 19, 2013 13:17
2. Fixed crush when destroying VideoStream object after sensor closed.
3. Fixed crush when rewinding on file playback.
Color, Depth, and IR streams are supported.
No performance regression was observed.
…h-to-image coordinate conversion within KinectStreamImpl.

* KinectStreamImpl::getNuiSensor() is finally eliminated.
* Other Windows & NUI types are more privately hidden.
* Besides, the image registration performance got a little better!
* Supported properties
 * 3D sensing properties: Near Mode, IR Emitter On/Off
 * Non- 3D sensing properties: Camera Elevation, Accelerometer, Audio Array ID
* API header KinectProperties.h is added. This is a sibling of other private property headers
  such as PrimeSense.h, PS1080.h, etc.
  (Suffix "Properties" is included in the file name for more clarity.)
* The first 4 hex digits of these properties are 0xx45e, taken from Microsoft's USB vendor ID.
* NiViewer's toggleCloseRange now supports Kinect using these properties.
* IR emitter on/off is added to NiViewer for both PS1080 and Kinect.
* Design notes
 * I struggled if I should reuse the properties of the same meanings in PS1080.h
   (i.e. XN_STREAM_PROPERTY_CLOSE_RANGE and XN_MODULE_PROPERTY_EMITTER_STATE).
   The confusion was, although PS1080.h seemed to be private for PS1080 Driver,
   it was included and used in Kinect Driver also (e.g. XN_STREAM_PROPERTY_CONST_SHIFT).
   I eventually decided not to reuse them assuming PS1080.h was actually supposed to be
   private, and its use in Kinect Driver was a "hidden hack" to make NiTE work.
   If my reading was wrong, please let me know. I will be more than happy to fix.
 * Passing a bool type value to setProperty for an OniBool type property may fail
   because bool and OniBool are actually different in size (1 byte vs. 4 bytes).
   You can workaround this issue by explicitly specifying the data type like
   setProperty<OniBool>(). For the same reason, you cannot get an OniBool type
   property into a bool type variable.
   (This is confusing and hope we can improve this in the future.)
 * Fixed a bug in XnDeviceModule.cpp that caused a crash when reading
   XN_MODULE_PROPERTY_EMITTER_STATE from a PS1080 device, which I found
   while enhancing NiViewer.
larshg and others added 29 commits May 5, 2014 10:45
atlStr.h is not part of VS2013 - but should be part of the new Windows SDK 8.1. Though it doesn't seem to be used.

Changed the includes to be standard, like the other projects: DummyDevice, OniFile, PS1080, PSLink, TestDevice
Retaining the version info from the develop branch.

Conflicts:
	Include/OniVersion.h
	Packaging/Install/Includes/Variables.wxi
	Packaging/UpdateVersion.py
	ReleaseNotes.txt
Make compatible with VS2013 express and remove unnecessary include.
Added check for MSVS2013 as GetVersionEx is marked as depricated.
This makes it possible to build against a brew-installed libusb.
Also rework, comment and cleanup the top-level Makefile.
…_occipital

Fix the windows Kinect driver so that ONI files recorded using a Kinect can be played back and used in NITE.
 * Initializers now destroy the previous context, prior to allocating a fresh one.
 * Destructors now take pointers to a context pointer and zero it on exit.
 * Destructors now gracefully exit when passed pointers to a null context pointer.
 * The decompression function also takes a pointer to a context pointer, because it may reset it on errors.
 * The compression functions also take pointers to a context pointer, for symmetry.
First driver port based on the Kinect OpenNI2 driver (first version of the
sensor)

Videomodes supported:
*Color: RGB888          1920x1080 30fps
*Depth: DepthPixel      512x424   30fps
*IR:    Gray16 (ushort) 512x424   30fps

Features supported:
-Depth & color registration mode
The color stream (1920x1080) is too big to be handled by the OpenNI player.

This change partially fixes this issue adding a videomode of size 960x540.
Making use of such videomode both OpenNI recorder and player works fine.
This change initializes a base timestamp at device creation time. Such timestamp
is used in the stream implementation constructor so all the different streams
uses the same timestamp basis.
The code has been refactored and cleaned-up. It seems the driver works well now
and does not make the GPU driver to crash.
When using DEPTH_TO_COLOR_REGISTRATION some vertical gaps remains due to the
different aspect ratio between color and depth images. This change solves the
problem adding a vertical interpolation on those empty pixels using a kernel
of diameter 1 cell.
…sor to let the Kinect service to start

Open() call on an IKinectSensor starts the Kinect service, but it takes some
time to initialize. If get_IsAvailable() is called right away, it will return
false. Waiting half a second after calling Open() is enough to let the Kinect
service properly initialize and get_IsAvailable() will return true if an actual
Kinect v2 sensor is connected.
@hcw70
Copy link

hcw70 commented Feb 18, 2016

Please have a look at https://github.com/OpenNI/OpenNI2/blob/master/README.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.