OpenNI library can't find any module

Mar 28, 2011 at 1:44 AM

Hi there, I'm new to Kinect and have been trying to get your sample project to run, having a little trouble :s

HandPointGenerator during VerifyInit gives the following exception: "OpenNI library can't find any module!"

After some googling, I came across a command in this thread to list the modules OpenNI has installed, the output looks like this:

C:\Users\Craig>nireg -l
OpenNI version is

Registered modules:

C:\Program Files (x86)\OpenNI\bin\nimRecorder.dll (compiled with OpenNI
        Recorder: OpenNI/Recorder/
        Player: OpenNI/Player/

C:\Program Files (x86)\OpenNI\bin\nimMockNodes.dll (compiled with OpenNI
        Device: OpenNI/Mock/
        Depth: OpenNI/Mock/
        IR: OpenNI/Mock/
        Image: OpenNI/Mock/
        Audio: OpenNI/Mock/

C:\Program Files (x86)\OpenNI\bin\nimCodecs.dll (compiled with OpenNI

        Codec: OpenNI/16zP/
        Codec: OpenNI/16zT/
        Codec: OpenNI/Im8z/
        Codec: OpenNI/JPEG/
        Codec: OpenNI/NONE/

C:\Program Files (x86)\Prime Sense\Sensor\Bin\XnDeviceFile.dll (compiled with OpenNI
        Player: PrimeSense/File/

C:\Program Files (x86)\Prime Sense\Sensor\Bin\XnDeviceSensorV2.dll (compiled with OpenNI
        Device: PrimeSense/SensorV2/
        Depth: PrimeSense/SensorV2/
        Image: PrimeSense/SensorV2/
        IR: PrimeSense/SensorV2/
        Audio: PrimeSense/SensorV2/

C:\Program Files (x86)\Prime Sense\NITE\Features\Bin\XnVFeatures.dll (compiled with OpenNI
        Scene: PrimeSense/XnVSceneAnalyzer/
        User: PrimeSense/XnVSkeletonGenerator/

C:\Program Files (x86)\Prime Sense\NITE\Hands\Bin\XnVHandGenerator.dll (compiled with OpenNI
        Gesture: PrimeSense/XnVGestureGenrator/
        Hands: PrimeSense/XnVHandTracker/


Seems like I have the modules registered correctly, any ideas?

Mar 28, 2011 at 2:17 AM

This is an OpenNI error. OpenNI requires you to have a file named openni.xml in a folder named data, which should be where your executable is located. Check the HandTesting sample for an example of this.

Mar 28, 2011 at 2:31 AM
Edited Mar 28, 2011 at 2:37 AM

Thanks for the speedy reply, I think I had it in the correct location:

My openni.xml file looks like this:

		<License vendor="PrimeSense" key="0KOIk2JeIBYClPWVnMoRKn5cdYr="/>
	<Log writeToConsole="true" writeToFile="false">
		<!-- 0 - Verbose, 1 - Info, 2 - Warning, 3 - Error (default) -->
		<LogLevel value="3"/>
			<Mask name="ALL" on="false"/>
    <Node type="Image" name="Image1">
        <MapOutputMode xRes="640" yRes="480" FPS="30"/>
        <Mirror on="true"/>
		<Node type="Depth" name="Depth1">
				<MapOutputMode xRes="640" yRes="480" FPS="30"/>
				<Mirror on="true"/>
		<Node type="Gesture" />
		<Node type="Hands" />
Mar 28, 2011 at 2:35 AM

Is your Kinect plugged in? Are you able to run any OpenNI sample applications such as

Mar 28, 2011 at 3:12 AM
Edited Mar 28, 2011 at 3:17 AM
joshb wrote:

Is your Kinect plugged in? Are you able to run any OpenNI sample applications such as

Yes, it's plugged in and I can run along with the other sample projects. Maybe I'll try copying your project's output into that directory and see if it makes a difference.

Edit: No difference

Mar 31, 2011 at 8:20 PM

Hmm, I think this may be a problem with my installation, I've recently plugged the Kinect back in after a series of restarts an I now see a new exception message: "Unknown USB device speed!"

Mar 31, 2011 at 8:38 PM

There are some posts on that error on the OpenNI mailing list:

Apr 1, 2011 at 9:13 PM

Finally solved this!

I overwrote the OpenNI libs included with the motionfx project with those thay came with the latest OpenNI install and the project now runs.

Maybe those included with the project are the ones prior to the fix they included on the 10th Jan for the USB enumeration bug ( ?


Apr 17, 2011 at 1:33 AM

craig, yes the distributed versions were the released ones rather than the April 10th one. I'll be upgrading to the latest version of openni soon and will update after it passes tests.