-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Description
Required Info | |
---|---|
Camera Model | D435 specifically but maybe applies to more |
Firmware Version | 5.15.1 |
Operating System & Version | Win10 |
Kernel Version (Linux Only) | NA |
Platform | PC |
SDK Version | 2.54.2 |
Language | NA |
Segment | OpenNI2 Wrapper |
Issue Description
I'm trying to use the realsense OpenNI sdk for 3D scanning with other software that support generic OpenNI sensors. I have compiled the Realsense sdk with OpenNI support, and copied the new dlls to wherever they are needed, but I'm running into issues. For example:
Skanect throws this:
INFO: OpenNI2: Device "043422070239" present.
INFO: OpenNI2: Device info: [PS1080] [7463] [1537].
INFO: OpenNI2: Number of devices: 1
INFO: No support for softkinetic, skipping.
INFO: OpenNI2: Opening: 043422070239
INFO: OpenNI2: Number of devices: 1
WARNING: Could not switch to VGA depth mode.
ERROR: OpenNI2: Couldn't prepare depth stream: Stream setProperty(7) failed
And ReconstructMe throws this:
2023-11-06T02:03:54 ; Found 1 OpenNI compatible sensors
2023-11-06T02:03:54 ; PS1080, PrimeSense, 043422070239
2023-11-06T02:03:54 ; Error: ..\..\..\..\source\robvis\lib_rgbdsensor\src\openni2_sensor.cpp(398): Throw in function void __cdecl LibRGBDSensor::openni2_sensor::open(class boost::shared_ptr<class google::protobuf::Message>)
Dynamic exception type: class boost::exception_detail::clone_impl<class LibFundament::robvis_error>
std::exception::what: Check '_data->depth.setMirroringEnabled(cfg->depth_stream().mirror_enabled()) == openni::STATUS_OK' failed [3 != 0] Failed to setMirroringEnabled Stream setProperty(7) failed
So I took a look at what properties the Rs2Stream supports, and it looks like setProperty() only has cases for:
ONI_STREAM_PROPERTY_VIDEO_MODE = 3, // OniVideoMode*
...
ONI_STREAM_PROPERTY_AUTO_WHITE_BALANCE = 100, // OniBool
ONI_STREAM_PROPERTY_AUTO_EXPOSURE = 101, // OniBool
ONI_STREAM_PROPERTY_EXPOSURE = 102, // int
ONI_STREAM_PROPERTY_GAIN = 103, // int
Is there a reason stream mirroring (type 7) and others aren't implemented? Is this some hardware limitation? Could it be done in the driver? I'm not an OpenNI expert, but if this makes realsense 2 cameras work with more software, I'd dive into this.
Or, to address the real issue I'm having, does anyone know a free 3D scanning software (not Dot3D free trial) that doesn't crash when these features aren't supported?