Open grigorig opened 9 years ago
If it's not supported by the official SDK, then we don't really have a way to find out if it's possible at all. I assume you mean disabling just the IR light, but keeping the camera running? Based on how the ToF camera works, I'm not quite sure if this would give any picture at all.
According to https://github.com/OpenKinect/libfreenect2/issues/307#issuecomment-116165299, this should be possible after all. You could just try sending this command and see what happens :-)
Played around with this to no avail. If I send the 0x0A command after starting streaming, I don't receive any complete frames anymore. I'll maybe try some other things later.
Right now I think it's not possible to turn it off outside of the firmware. Every second 30 frames are transmitted from Kinect. Each frame has 10 layers. the 10-th layer is obtained with IR led turned off (by firmware).
IIRC the 10th image isn't used in the depth calculation anyway. Could this simply be exposed as another frame type?
It could. But what is the use of it?
I don't really understand. So the Kinect always sends layer 10 which is always recorded, with the IR LED momentarily turned off? Or what is the deal here?
The 10th layer can be used to detect special IR blinkers on Xbox One controllers. It might also be used to correct background illumination.
The IR image provided by the depth processor is without ambient illumination, while the 10th image would contain just the ambient illumination. I imagine this might be useful in some computer vision scenarios?
The old Kinect V1 SDK allowed users to (temporarily) switch off the IR light. Does the new Kinect V2 hardware support this as well? The new official SDK unfortunately does not support this. If possible, this functionality should be added to libfreenect2.