Giter Club home page Giter Club logo

openni2's Introduction

OpenNI

Structure Core customers: OpenNI does not currently support Structure Core. To start developing with Structure Core download Structure SDK (Cross-Platform) on the Developer Portal.

OpenNI2 homepage: http://structure.io/openni

Develop branch

The latest ongoing development is currently being done in the develop branch. Refer to README and ReleasesNotes in the develop branch for up to date build instructions.

Contributing

Pull requests that do not apply cleanly on top of the develop branch head will be rejected.

Other than that, sensible and meaningful contributions are very welcome!

Building Prerequisites

Windows

Linux

Android

Building

Building on Windows:

Open the solution OpenNI.sln

Building on Linux:

Run:

make

Cross-Compiling for ARM on Linux

The following environment variables should be defined:

  • ARM_CXX=path-to-cross-compilation-g++
  • ARM_STAGING=path-to-cross-compilation-staging-dir

Then, run:

PLATFORM=Arm make

Creating OpenNI2 packages

  • Go into the directory Packaging

  • Run:

    ReleaseVersion.py [x86|x64|arm|android]
    
  • The installer will be placed in the Final directory

openni2's People

Contributors

alpsc avatar awesomebytes avatar eddiecohen avatar eranws avatar fran6co avatar jrpowers avatar jselikof avatar maswag avatar ntisserand avatar pedroasad avatar philnelson avatar tomoto avatar vikasreddy avatar zivhendel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openni2's Issues

can't open Device on Nexus 5 with Lollipop 5.0

Hi,
Building an android application that makes use of a Structure Sensor through openni2.
We have tested on a OnePlus One with Android 4.4.4 and works nice, but I can't open the device on a nexus 5 with Lollipop 5.0.

On the lines
Status rc = device.open(openni::ANY_DEVICE);
We obtain the following with OpenNI::getExtendedError():
DeviceOpen using default: no devices found

both phones have OTG enabled and openni::OpenNI::initialize(); return STATUS_OK
Maybe there is some incompatibility with shared libraries and Android 5.0?

/cc @mtamburrano

Editing the PS1080.ini file

Hi,

This is more of a question than an issue, and first of all thank you for giving access to OpenNI here!

I have installed the Kinect for Windows SDK on my windows 8 machine as well as OpenNI2 in order to use the Kinect with the simple-openni library for Processing. I am desperately trying to work out how I can set the max depth range in an .ini config file. I previously achieved this successfully with the earlier version of openni and and older version of simple-openni by editing the GlobalDefaultsKinect.ini file. I see with OpenNI2 this doesnt exist but that there are a few PS1080.ini files. I have edited the max depth range here but this config file doesnt seem to take effect anywhere. Is there somewhere where I need to make a reference to this file for it to be used?

Thanks!
Jennifer

SHA1 mismatch

I'm trying to install OpenNI2 from home-brew, but I'm getting this SHA1 mismatch error:

brew install openni2
==> Downloading https://github.com/occipital/OpenNI2/archive/2.2-beta2.tar.gz
Already downloaded: /Library/Caches/Homebrew/openni2-2.2.0.33.tar.gz
==> Downloading https://github.com/occipital/OpenNI2/pull/18.patch

################################################################## 100.0%

Error: SHA1 mismatch
Expected: e0be30b6b9296939306155580df1ac7912d3f949
Actual: 4beb04a31a64677618801f0e95141807592442ef
Archive: /Library/Caches/Homebrew/openni2--patch-e0be30b6b9296939306155580df1ac7912d3f949.patch
To retry an incomplete download, remove the file above.

Removing such patch from the Cache doesn't seem to help.

NI viewer shows "Depth stream is off and color stream is off" message on screen.

Device detected as Primesense carmine. but NI viewer shows "Depth stream is off and color stream is off" message on screen.

SS connected to Laptop - Windows7.

sensor charging LED is blinking. as if, it is connected to charger. any changes has to be made to make it work?

I tried changing USB ports but no change. images are OFF message showing on screen.

With the same connection, I opened it in Skanect software. there it working well. only with NIviewer it is not working. what is the reason?

Cannot reopen device

Steps:

  1. Register callbacks: DeviceConnectedListener and DeviceDisconnectedListener
  2. Disconnect and connect device
  3. Device cannot be reopened (calling close method on device object crash program and open returns -1 - "Device already open")

Support for WIndows Store Apps

At a first glance trying to use PrimeSense Carmine 1.09 is not possible within a Windows Store App. Is there a limitation in terms of driver support. The device is simply not recognized inside the application. Would it be possible to access the scanner inside a Store app.

Thanks

Building OpenNI2 for Android x86

Hi,

I was trying to build OpenNI2 for Android x86 plattform. I've been able to made it easily for armv7 plattform, using:

wget http://dl.google.com/android/ndk/android-ndk-r8e-darwin-x86_64.tar.bz2
tar -jxvf android-ndk-r8d-linux-x86.tar.bz2
cd android-ndk-r8d
export NDK_ROOT=$PWD
export PATH=$PATH:$PWD
cd ..
git clone https://github.com/occipital/openni2
cd openni2/Packaging/
python ReleaseVersion.py android

What I've tried so far is doing more or less the same thing, but changing Android.mk and Application.mk files.

In Android.mk I've channged this:
...
ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
OPENNI2_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mtune=cortex-a9 -mfpu=vfp
endif

ifeq ($(ARCH_ARM_HAVE_NEON),true)
OPENNI2_CFLAGS += -mfpu=neon -DHAVE_NEON=1 -flax-vector-conversions
endif
...

for this:
...
OPENNI2_CFLAGS += -mtune=atom -mssse3 -mfpmath=sse
...

In Android.mk I've channged this:
...
APP_ABI := armeabi-v7a
ARCH_ARM_HAVE_ARMV7A := true

for this:

...
APP_ABI := x86

When using python, It starts building as usuall but then I get this error:

jni/OpenNI2/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxDebug.cpp:27:22: fatal error: execinfo.h: No such file or directory
compilation terminated.
make: *** [obj/local/x86/objs/XnLib/Linux/XnLinuxDebug.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from jni/OpenNI2/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxEvents.cpp:27:0:
jni/OpenNI2/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxSysVNamedEvents.h:31:21: fatal error: sys/sem.h: No such file or directory
compilation terminated.
make: *** [obj/local/x86/objs/XnLib/Linux/XnLinuxEvents.o] Error 1
jni/OpenNI2/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxFiles.cpp:48:18: fatal error: glob.h: No such file or directory
compilation terminated.
make: *** [obj/local/x86/objs/XnLib/Linux/XnLinuxFiles.o] Error 1

Any tips on this matter?
Was somebody able to get OpenNI2 working under Android x86?

Thank you guys,
Iago

No Device Found

Structure Sensor Model ST01, Serial 7785
on Mac OX X 10.9
using system_profile I got

Structure Sensor:

      Product ID: 0x0600
      Vendor ID: 0x1d27
      Version:  0.01
      Serial Number: 7785
      Speed: Up to 480 Mb/sec
      Manufacturer: Occipital
      Location ID: 0x14500000 / 8
      Current Available (mA): 500
      Current Required (mA): 500

Run Samples/SimpleRead
Failed at device.open, error = "no devices found"
rc = device.open(ANY_DEVICE);
if (rc != STATUS_OK)
{
printf("Couldn't open device\n%s\n", OpenNI::getExtendedError());
return 2;
}

Any possible missing setup step?

Image/Depth buffer corrupt on android vga @30

Getting corrupt buffer when i try to beef up from qqvga to vga. Any ideas why qqvga for arm arch. as default?

log:
Depth: Expected 1, got 7
Depth frame is corrupt!
Depth: Expected 8, got 1
Depth frame is corrupt!
Read: Depth buffer is corrupt. Size is 2720 (!= 614400)
Depth: Expected 3, got 8
Depth: Expected 9, got b
Depth frame is corrupt!
Read: Depth buffer is corrupt. Size is 4064 (!= 614400)
Property Firmware.Stream1Mode (6) was changed to 2.
Setting Firmware.FrameSync (1) to 0...
Firmware.FrameSync (1) was successfully set.
Firmware.Stream1Mode (6) was successfully set.
Setting Firmware.CloseRange (84) to 0...
Depth Frame Buffer overflow! current size: 612000
Depth frame is corrupt!
Read: Depth buffer is corrupt. Size is 612000 (!= 614400

Install OpenNI2 with OpenCV3

Any advice on how to install OpenNI2 with OpenCV 3 on Mac OS X Yosemite? I've successfully cloned and installed OpenNI 2 to my computer. Now using CMAKE to install openCV 3. For some reason, the CMAKE can't find my libraries even though I'm adding CMAKE variables to the file.

These are the variables the error tells me to use. I'm setting these variables though, and the locations exist. They contain the .dylib files:

OPENNI2_LIB_DIR -> /Users/nmante/Documents/Programming/External_Git_Repos/OpenNI2/Bin/x64-Release/OpenNI2
OPENNI2_INCLUDE_DIR -> /Users/nmante/Documents/Programming/External_Git_Repos/OpenNI2/Include

And here is the actual error/warning

WARNING, OpenNI2 library directory (set by OPENNI2_LIB_DIR variable) is not found or does not have OpenNI2 libraries.
WARNING, OpenNI2 include directory (set by OPENNI2_INCLUDE_DIR variable) is not found or does not have OpenNI2 include files.

java JNI wrapper oniFrameRelease and oniStreamReadFrame issues

oniStreamReadFrame returns a ByteBuffer pointing to volatile memory. To fix this I returned a byte[] by changing
jobject buffer = env->NewDirectByteBuffer(pOniFrame->data, pOniFrame->dataSize);
fieldID = env->GetFieldID(videoFrameRefCls, "mData", "Ljava/nio/ByteBuffer;");
env->SetObjectField(videoFrameRefObj,fieldID, buffer);
to
jbyteArray buffer = env->NewByteArray(pOniFrame->dataSize);
env->SetByteArrayRegion(buffer, 0, pOniFrame->dataSize, (jbyte*) pOniFrame->data);
fieldID = env->GetFieldID(videoFrameRefCls, "mData", "[B");
env->SetObjectField(videoFrameRefObj, fieldID, buffer);
and made the mData field a byte[] in java.

The end oniStreamReadFrame calls oniFrameRelease. Calling this function again from java causes a fatal error. The finalize function in java for the VideoFrameRef class calls oniFrameRelease resulting in a fatal error when the garbage collector comes through, assuming it bothers to call the finalize function. To fix this I commented out a line as seen below.
JNIEnv g_env;
JNIEXPORT void JNICALL Java_org_openni_NativeMethods_oniFrameRelease
(JNIEnv *, jclass, jlong frame) {
//oniFrameRelease((OniFrame
)frame);
}

I also commented out oniFrameAddRef in java
private VideoFrameRef(long handle) {
//NativeMethods.oniFrameAddRef(handle);
mFrameHandle = handle;
}
but i'm not sure if that was necessary.

Error when make

I cloned it and downloaded all the required packages. when I try to run make, it give me this error. I looked at some solutions online, they seem to be related to "link". I'm new to this and have no idea what to do with this error. Can I get some help please? thanks a lot!

g++ -o ../../../Bin/x86-Release/libOpenNI2.jni.so ./../../../Bin/Intermediate/x86-Release/libOpenNI2.jni.so/OpenNI.jni.o ./../../../Bin/Intermediate/x86-Release/libOpenNI2.jni.so/org_openni_NativeMethods.o  -L../../../Bin/x86-Release -lOpenNI2 -Wl,--no-undefined -shared
/usr/lib/i386-linux-gnu/libc_nonshared.a(stack_chk_fail_local.oS): In function `__stack_chk_fail_local':
(.text+0x10): undefined reference to `__stack_chk_fail'
collect2: error: ld returned 1 exit status
make[1]: *** [../../../Bin/x86-Release/libOpenNI2.jni.so] Error 1
make[1]: Leaving directory `/home/Waffle555/OpenNI2/Wrappers/java/OpenNI.jni'
make: *** [Wrappers/java/OpenNI.jni] Error 2

Android Waiting for Frames

I have built OpenNI for android and I am attempting to run it on a Google Tango Tablet running Android 4.4.2. When I run NIViewer it detects my ASUS Xtion and attempts to open a depth stream but is stuck waiting for frames, all other streams have the same issue. I am using the develop branch.

The logcat shows:

11-24 03:16:25.962: V/OpenNI(9497): Initializing USB...
11-24 03:16:25.963: I/OpenNI(9497): USB is initialized.
11-24 03:16:25.978: V/OpenNI(9497): Loading device driver 'libSD.so'...
11-24 03:16:25.978: W/OpenNI(9497): Couldn't use file 'libSD.so' as a device driver

I cannot find any information about libSD.so. Could the lib name be different on my device?

Any input is appreciated!

Kinect not detected when trying with SimpleViewer sample

Trying to use OpenNI2 for a project, but can't even seem to get past the first obsctaces. I have cloned the develop branch and built with make. That worked without issues. I am on Mac OS.

Trying to launch the SimpleViewer sample.

git:(develop): /Users/flo/tmp/OpenNI2/Bin/x64-Release/SimpleViewer
dyld: Library not loaded: libOpenNI2.dylib
  Referenced from: /Users/flo/tmp/OpenNI2/Bin/x64-Release/SimpleViewer
  Reason: image not found
[1]    11509 trace trap  /Users/flo/tmp/OpenNI2/Bin/x64-Release/SimpleViewer

Apparently I have to link to the compiled library location, I am doing by prepending the library path as follows:

DYLD_LIBRARY_PATH=/Users/flo/tmp/OpenNI2/Bin/x64-Release/ /Users/flo/tmp/OpenNI2/Bin/x64-Release/SimpleViewer

This still fails because it doesn't seem to recognize the connected Kinect (v1).

After initialization:

SimpleViewer: Device open failed:
    DeviceOpen using default: no devices found

The Kinect is connected however. I can confirm this because it is registered as a usb device. Out of ioreg -p IOUSB contains:

  | | +-o HubDevice@fa130000  <class IOUSBHubDevice, id 0x100003cd2, registered, matched, active, busy 0 (9 ms), retain 15>
  | |   +-o Xbox NUI Motor@fa132000  <class IOUSBDevice, id 0x100003cdc, registered, matched, active, busy 0 (221 ms), retain 9>
  | |   +-o Xbox Kinect Audio, © 2011 Microsoft Corporation. All rights reserved.@fa131000  <class IOUSBDevice, id 0x100003ce9, registered, matched, active, busy 0 (7 ms), retain $
  | |   +-o Xbox NUI Camera@fa133000  <class IOUSBDevice, id 0x100003cf1, registered, matched, active, busy 0 (31 ms), retain 9>

Anything I am missing or doing wrong?

Issue with Occipital: structure sensor

Hi

I get the following error message when I open NiViewer in Linux x64
kindly help me to resolve my issue..

I have attached a screen-shot of the error that I received
screenshot from 2014-07-04 10_36_33
of the error

Sharing device across applications

I am trying to use OpenNI2 with a PrimeSense camera. I would like to be able to access the same frames from two applications simultaneously. One of these applications is an existing closed source app, and I am writing the other one. But I notice when I try running two instances of the SimpleRead demo app, each application only gets half the frames. Is there a way around this? Thanks in advance for any help.

Wrong scaling for depth Values

When using the binary for mac os and for windows the depth-values arent scaled correctly. For example when put 2 meters in front of a wall PIXEL_FORMAT_DEPTH_1_MM has values around 800 (80cm). This doesnt happen with older versions of OpenNI.

OpenNI2 and Kinect SDK 2.0

Hi guys. I'm trying to use OpenNI2 Kinect SDK 2.0 but I've had enough problems, does anyone know how to implement it? I'm pretty confused with it. Greetings!

Function "xnOSGetModulePathForProcAddress" couldn't get the absolute path of module on Android 4.4.4KTU84P

It works on my win7x64。 But it only got the file name not the path on my mobile phone. What I can do is to hard code the path of drivers to make OpenNI2 possible to initialize properly. But it's not the long-term solution. Does anyone know how what's going on with this function? Or how can I fix this problem?
Any help or ideas would be much appreciated.

OpenNI2/Source/Core/OniContext.cpp

Initialization changes current directory of entire process

The initialization code seems to change the current directory while searching for drivers. I think the culprit is this line of code.

This is a big problem if the initialization is being done in a background thread, while other threads are working. I discovered this issue because another thread was trying to write files in the current directory. It's certainly possible to search a directory tree without calling chdir(), so I think this should be fixed.

DeviceOpen using default: no devices found

Hello, I'm trying to use OpenNI with a Kinect, but after extracting the tarball and running the ./install.sh I try to launch Sample (like SimpleViewer) but I got the error :
"After initialization:

SimpleViewer: Device open failed:
DeviceOpen using default: no devices found"

I think it's a problem with drivers or usb privileges since I can see the device with "lsusb".
The file "/etc/udev/rules.d/557-primesense-usb.rules" as been created.
I hope you can help me.
Thanks.

How to Convert from depth to world coordinate

I modify the SimpleRead by add below code that convert the middle point from depth to world coordinate
rc = CoordinateConverter::convertDepthToWorld(depth, x, y, pDepth[middleIndex], &wx, &wy, &wz);
I always get wx = 0 and wy = 0?
Is this function not be enabled in the driver or i need to do some additional setup?

Thanks

ONI record with RGB888 unstable in develop branch

When using NiViewer of OpenNI 2.3(develop branch ) to record ONI files, the captured ONI file is unstable with RGB888 color image stream.

NiViewer will break in PlayerNode.cpp line 1412, it looks that there is something wrong with frame number.

What must be implemented to have a "valid" OpenNI driver

First off, apologies if this is an inappropriate post for this venue, but I'm not sure where else to ask at this point:

I've written a driver for a soon-to-be released depth sensor and I can run all the samples (SimpleRead, NiViewer, etc), but when I try and run an application that claims to support OpenNI (NiTE, for example), I'm unable to use my driver. Are there specific resolutions, streams, framerates, properties, etc that MUST be implemented for OpenNI dependent applications to consider a driver as valid?

device not identified

When I type $lsusb..i get
Bus 001 Device 012: ID 277a:0001
Bus 003 Device 002: ID 0603:00f2 Novatek Microelectronics Corp.
Bus 004 Device 003: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

kindly help me resolve the error

GMCMode=0 does not disable function

Using the information from issue 81 on the main repo, I was able to successfully disable GMCMode under Ubuntu 12.04 and using ROS Hydro. However, under Ubuntu 14.04 and Indigo, setting GMCMode=0 does not appear to disable this function. Also, it appears that the file PS1080.ini does not exist, and adding it does not seem to help. I found two other .ini files (/etc/openni/GlobalDefaults.ini and /etc/openni2/OpenNI.ini) but adding this option to both files also fails to turn off this feature. How can I turn off GMCMode? Which .ini file is loaded by OpenNI2 under Ubuntu 14.04 and ROS Indigo?

I can't get more than 8fps out of ASUS Xtion at 1280x1024

Does anyone know whether it is a limitation of the hardware or I must be simply doing something wrong?

According to the specs, it should get 30fps at this resolution. I updated it to the latest firmware and I tried both USB 2.0 and USB 3.0 connectors.

I also tried YUV422 mode which should supposedly transfer less data, but it didn't get any faster. That's why I'm starting to think the problem might be the device itself.

EDIT: I also tried outdoors so, I don't think it is caused by low light conditions.

Thanks!

Python3 compatibility: missing parentheses in print statements

The python code is actually not compatible with python3 due to missing parenthesis.
Then, for environments using python as python3 by default (like Archlinux), the packaging script doesn't work, even with the python2 command (the command python is called later).

"no devices found" under Ubuntu 14.04

I updated from Ubuntu 12.04 to 14.04 and now I get the error:
"openDevice failed: DeviceOpen using default: no devices found"
I have an Asus Xtion. libfreenect (still) works without problems, however it only supports depth images for the ASUS Xtion...

Any active community?

Hey, I am getting started with OpenNI and I'm sure I'll have many questions along the way. Is there any go-to destination for community discussions? I haven't found one so far.

I'd rather prefer that over flooding the Github issues with my naïve questions.

Add support for building on arm64 platforms

When you try to build openni2 on arm64 platforms it fails in several places.

I've started working on getting it working. My progress can be seen here. It's not complete yet and ready for a pull-request but I wanted to point it out if anyone else was looking into the problem.

So far it's mostly been making sure to set the right flags based on __aarch64__ defines and detecting the uname -m correctly

ONI file format documentation

I'm sure that I am just looking in the wrong places, but I can't find any documentation at all on the ONI file format (created by the Recorder class). I'm wondering about things like timestamp accuracy, and how to get the images out later into a shareable format like PNG (or any format that I've heard of, really). Short of reading the code, is there any documentation on this?

I need a GrabDetector library

我需要一个GrabDetector库,来继续我的开发,因为我知道openni有这样的一个库,你可以发邮件给我[email protected]
I need a GrabDetector library, to continue my development, because I know that openni has such a library, you can send mail to my [email protected]

oni file format cannot be opened with pcl_oni2pcd

I'll admit I'm not 100% sure if this is a PCL or a occipital/OpenNI2 issue.

I can use PCL's pcl_oni2pcd to successfully convert arbitrary .oni files (e.g. those downloaded from the internet) to .pcd format.

However, .oni files captured with NiViewer cannot be read with pcl_oni2pcd, with the error:

libc++abi.dylib: terminating with uncaught exception of type openni_wrapper::OpenNIException: void openni_wrapper::OpenNIDevice::Init() @ /Users/Michael/builds/pcl_and_dep/pcl/io/src/openni_camera/openni_device.cpp @ 384 : reading the value for pixels in shadow regions failed. Reason: No match found

Both types of .oni files (i.e. those captured by this version of NiViewer and those captured elsewhere) can be successfully reviewed with NiViewer.

This is the case with both the binary and compiled-from-source versions of occipital/OpenNI2, running on OSX 10.9.

Complie error

Engine/libEngine.a(OpenNIEngine.cpp.o): In function InfiniTAM::Engine::OpenNIEngine::getImages(ORUtils::Image<ORUtils::Vector4<unsigned char> >*, ORUtils::Image<short>*)': OpenNIEngine.cpp:(.text+0x35d): undefined reference tooniStreamReadFrame'
OpenNIEngine.cpp:(.text+0x373): undefined reference to oniFrameRelease' OpenNIEngine.cpp:(.text+0x3a5): undefined reference tooniStreamReadFrame'
OpenNIEngine.cpp:(.text+0x3bb): undefined reference to oniFrameRelease' Engine/libEngine.a(OpenNIEngine.cpp.o): In functionInfiniTAM::Engine::OpenNIEngine::~OpenNIEngine()':
OpenNIEngine.cpp:(.text+0x42f): undefined reference to oniStreamStop' OpenNIEngine.cpp:(.text+0x4ab): undefined reference tooniStreamStop'
OpenNIEngine.cpp:(.text+0x57f): undefined reference to oniFrameRelease' OpenNIEngine.cpp:(.text+0x59b): undefined reference tooniFrameRelease'
OpenNIEngine.cpp:(.text+0x74c): undefined reference to oniShutdown' OpenNIEngine.cpp:(.text+0x771): undefined reference tooniDeviceClose'
OpenNIEngine.cpp:(.text+0x791): undefined reference to oniStreamDestroy' OpenNIEngine.cpp:(.text+0x7b1): undefined reference tooniStreamDestroy'
OpenNIEngine.cpp:(.text+0x7d1): undefined reference to oniStreamDestroy' OpenNIEngine.cpp:(.text+0x7f1): undefined reference tooniStreamDestroy'
OpenNIEngine.cpp:(.text+0x804): undefined reference to oniDeviceClose' OpenNIEngine.cpp:(.text+0x879): undefined reference tooniFrameRelease'
Engine/libEngine.a(OpenNIEngine.cpp.o): In function InfiniTAM::Engine::OpenNIEngine::OpenNIEngine(char const*, char const*, bool, ORUtils::Vector2<int>, ORUtils::Vector2<int>)': OpenNIEngine.cpp:(.text+0xc32): undefined reference tooniInitialize'
OpenNIEngine.cpp:(.text+0xc37): undefined reference to oniGetExtendedError' OpenNIEngine.cpp:(.text+0xca0): undefined reference tooniDeviceSetProperty'
OpenNIEngine.cpp:(.text+0xcc8): undefined reference to oniDeviceSetProperty' OpenNIEngine.cpp:(.text+0xce6): undefined reference tooniDeviceCreateStream'
OpenNIEngine.cpp:(.text+0xcf3): undefined reference to oniGetExtendedError' OpenNIEngine.cpp:(.text+0xd30): undefined reference tooniDeviceCreateStream'
OpenNIEngine.cpp:(.text+0xd3d): undefined reference to oniGetExtendedError' OpenNIEngine.cpp:(.text+0xd6c): undefined reference tooniShutdown'
OpenNIEngine.cpp:(.text+0xd8d): undefined reference to oniFrameRelease' OpenNIEngine.cpp:(.text+0xda9): undefined reference tooniFrameRelease'
OpenNIEngine.cpp:(.text+0x1050): undefined reference to oniStreamGetSensorInfo' OpenNIEngine.cpp:(.text+0x10bd): undefined reference tooniStreamIsPropertySupported'
OpenNIEngine.cpp:(.text+0x10d9): undefined reference to oniStreamIsPropertySupported' OpenNIEngine.cpp:(.text+0x12ba): undefined reference tooniStreamSetProperty'
OpenNIEngine.cpp:(.text+0x12f5): undefined reference to oniStreamSetProperty' OpenNIEngine.cpp:(.text+0x1311): undefined reference tooniStreamStart'
OpenNIEngine.cpp:(.text+0x1329): undefined reference to oniGetExtendedError' OpenNIEngine.cpp:(.text+0x13de): undefined reference tooniDeviceOpen'
OpenNIEngine.cpp:(.text+0x1412): undefined reference to oniGetExtendedError' OpenNIEngine.cpp:(.text+0x1430): undefined reference tooniShutdown'
OpenNIEngine.cpp:(.text+0x1451): undefined reference to oniFrameRelease' OpenNIEngine.cpp:(.text+0x146d): undefined reference tooniFrameRelease'
OpenNIEngine.cpp:(.text+0x19e8): undefined reference to oniStreamGetSensorInfo' OpenNIEngine.cpp:(.text+0x1a47): undefined reference tooniStreamIsPropertySupported'
OpenNIEngine.cpp:(.text+0x1a62): undefined reference to oniStreamIsPropertySupported' OpenNIEngine.cpp:(.text+0x1c1e): undefined reference tooniStreamSetProperty'
OpenNIEngine.cpp:(.text+0x1c5f): undefined reference to oniStreamSetProperty' OpenNIEngine.cpp:(.text+0x1c7b): undefined reference tooniStreamStart'
OpenNIEngine.cpp:(.text+0x1d01): undefined reference to oniGetExtendedError' OpenNIEngine.cpp:(.text+0x1e2a): undefined reference tooniDeviceSetProperty'
OpenNIEngine.cpp:(.text+0x1e34): undefined reference to oniStreamDestroy' OpenNIEngine.cpp:(.text+0x1e46): undefined reference tooniStreamDestroy'
OpenNIEngine.cpp:(.text+0x1e65): undefined reference to oniDeviceGetSensorInfo' OpenNIEngine.cpp:(.text+0x1ed3): undefined reference tooniDeviceGetSensorInfo'
OpenNIEngine.cpp:(.text+0x1f36): undefined reference to oniStreamDestroy' OpenNIEngine.cpp:(.text+0x1f41): undefined reference tooniStreamDestroy'
OpenNIEngine.cpp:(.text+0x1f51): undefined reference to oniDeviceClose' OpenNIEngine.cpp:(.text+0x1fdf): undefined reference tooniDeviceClose'
OpenNIEngine.cpp:(.text+0x1fe9): undefined reference to oniStreamDestroy' OpenNIEngine.cpp:(.text+0x1ff6): undefined reference tooniStreamDestroy'
OpenNIEngine.cpp:(.text+0x20b8): undefined reference to oniDeviceGetInfo' OpenNIEngine.cpp:(.text+0x20c7): undefined reference tooniDeviceIsPropertySupported'
OpenNIEngine.cpp:(.text+0x20df): undefined reference to oniDeviceIsPropertySupported' OpenNIEngine.cpp:(.text+0x20f7): undefined reference tooniDeviceIsCommandSupported'
OpenNIEngine.cpp:(.text+0x2128): undefined reference to oniDeviceIsPropertySupported' OpenNIEngine.cpp:(.text+0x21bf): undefined reference tooniFrameRelease'
OpenNIEngine.cpp:(.text+0x2236): undefined reference to oniFrameRelease' OpenNIEngine.cpp:(.text+0x2356): undefined reference tooniDeviceIsPropertySupported'
OpenNIEngine.cpp:(.text+0x236e): undefined reference to oniDeviceIsCommandSupported' Engine/libEngine.a(OpenNIEngine.cpp.o): In functionopenni::OpenNI::waitForAnyStream(openni::VideoStream*, int, int, int)':
OpenNIEngine.cpp:(.text._ZN6openni6OpenNI16waitForAnyStreamEPPNS_11VideoStreamEiPii[_ZN6openni6OpenNI16waitForAnyStreamEPPNS_11VideoStreamEiPii]+0x64): undefined reference to oniWaitForAnyStream' Engine/libEngine.a(OpenNIEngine.cpp.o): In functionopenni::VideoStream::~VideoStream()':
OpenNIEngine.cpp:(.text._ZN6openni11VideoStreamD2Ev[_ZN6openni11VideoStreamD5Ev]+0x7a): undefined reference to oniStreamDestroy' Engine/libEngine.a(OpenNIEngine.cpp.o): In functionopenni::Device::~Device()':
OpenNIEngine.cpp:(.text._ZN6openni6DeviceD2Ev[_ZN6openni6DeviceD5Ev]+0xa4): undefined reference to `oniDeviceClose'
collect2: error: ld returned 1 exit status
make[2]: *** [InfiniTAM] Error 1
make[1]: *** [CMakeFiles/InfiniTAM.dir/all] Error 2
make: *** [all] Error 2

Depth frame corruption

Hi,

Thank you for maintenance of OpenNI2.
I'm using OpenNI2 with Asus XTion Pro Live.
It works fine with 320x240@30 FPS of RGB888 and Depth, but when I changed color stream to 640x480 RGB888@30FPS, the depth frame corruption occurs frequently, and I cannot grab depth frames well.

The partial NiViewer.exe log is here: (All log file is https://dl.dropboxusercontent.com/u/96685638/log.txt)

 1705 INFO       New log started on 2014-07-19 09:52:00
 1719 INFO       --- Filter Info --- Minimum Severity: VERBOSE
 1902 VERBOSE    No override device in configuration file
 1987 VERBOSE    Configuration has been read from 'C:\Program Files (x86)\OpenNI2\Tools\OpenNI.ini'
 1989 VERBOSE    OpenNI 2.2.0 (Build 33)-Win32 (Jul 19 2014 08:54:48)
 1992 VERBOSE    Using 'C:\Program Files (x86)\OpenNI2\Tools\OpenNI2\Drivers' as driver path
 1995 VERBOSE    Looking for drivers in drivers repository 'C:\Program Files (x86)\OpenNI2\Tools\OpenNI2\Drivers'

314536 INFO New log started on 2014-07-19 09:52:01
314543 INFO --- Filter Info --- Minimum Severity: VERBOSE
366074 INFO Device connected: PrimeSense PS1080 (?\usb#vid_1d27&pid_0601&mi_00#6&3876d250&0&0000#{c3b5f022-5a42-1980-1909-ea72095601b1})
367149 INFO New log started on 2014-07-19 09:52:01
367155 INFO --- Filter Info --- Minimum Severity: VERBOSE
419780 VERBOSE Trying to open device by URI '(NULL)'
419875 VERBOSE Initializing device sensor...
419964 VERBOSE Configuring module 'Device' from section 'Device' in file 'C:\Program Files (x86)\OpenNI2\Tools\OpenNI2\Drivers\PS1080.ini'...
421906 INFO Module 'Device' configuration was loaded from file.
421916 VERBOSE Connecting to USB device...
421919 VERBOSE Trying to open sensor '?\usb#vid_1d27&pid_0601&mi_00#6&3876d250&0&0000#{c3b5f022-5a42-1980-1909-ea72095601b1}'...
422212 VERBOSE USB Driver Version is: 3.2.0.2
422218 VERBOSE USB Driver Current Alt Setting is: 1
422221 VERBOSE Trying to open endpoint 0x4 for control out (for old firmwares)...
422231 INFO Connected to USB device
424571 VERBOSE Getting hardware versions...
437031 INFO Hardware versions: FW=5.8.22 (14) HW=6 Chip=3 Sensor=0 SYS=12
......

10599315 INFO Property Image.State was changed to 1.
10686665 WARNING Depth: Expected 43c1, got 43c2
10686670 WARNING Depth frame is corrupt!
10774901 WARNING Image: Expected 22c, got 22d
10774908 WARNING Image frame is corrupt!
.......

13256585 WARNING Depth: Expected 561a, got 561b
13256590 WARNING Depth frame is corrupt!
13286606 WARNING Depth: Expected 5657, got 5658
13286611 WARNING Depth frame is corrupt!
13326581 WARNING Depth: Expected 5694, got 5695
13326586 WARNING Depth frame is corrupt!
13344614 VERBOSE [FPS] Frames - C: 26.24, D: 7.01, I: 0.00

My environment is:
PC: Lenovo T430s(Laptop)
OS: Windows7
CPU: Intel Core i5-3320M [email protected]
Memory: 16GB
SSD: 223GB 45.5GB Free
Driver: Prime Sense Carmine 1.08x build by WinDDK 7600-16385
USB:3.0
OpenNI: e355c31 git, built by Visual Studio 2012.

With this PC, it works fine when I plugged XTion into USB2.0 port.
However, frame corruption occurs on Windows 8.1 laptop in both USB 3.0 and USB 2.0.

I will appreciate your help with this situation.

Nite

Hi!

Could you upload NiTE-Windows-x86-2.2 ?

Or where can I find it?

Thank you!

Color Image Issue SimpleViewer

Hi all,
i try to use OpenNI2 with an old XtionPro

i can obtain the gray-scale image with NiViewer Tool but SimpleViewer crash with error "unable to find color stream" (it hasn't RGB camera)

now the noobie question:
my final goal is try to use multiple sensors, so i need to continue sperimenting on OpenNi 1.5 or OpenNi 2 (if there are no other issues without rgb camera)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.