I’m running multiple Astra cameras on OpenNI 2.3.0 (Build 63)-Win32. I’m setting the device to have depth-to-color registration and frame sync, but when I switch between cameras sometimes one of the cameras is not registered. It seems to happen every other time I switch between them in the same process (Cam1=good → Cam2=good → Cam1=good → Cam2=bad → repeat). I’m calling shutdown
and initialize
between each call.
getImageRegistrationMode
returns IMAGE_REGISTRATION_DEPTH_TO_COLOR
when in this broken state, but the image is not registered.
I turned on file logging and nothing is shown in the log. They are identical for the registered and non-registered version.
It also seems to only happen on some machines. I’ve compared the Orbbec.ini files on each machine and they match. Turning on the registration in the ini file has no effect.
Possibly related, when I try to force the registration again while it’s in this broken state, I get a STATUS_BAD_PARAMETER returned even though isImageRegistrationModeSupported
returns true. This happens when setting registration via setImageRegistrationMode
AND setProperty
.