-
Notifications
You must be signed in to change notification settings - Fork 769
OpenNI2 driver #302
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenNI2 driver #302
Conversation
…ired to run it correctly.)
…bfreenect2::SyncMultiFrameListener
…nted mirroring for registered image image
… from BGR to BGRX color format in RGB packet processor
|
Thank you for your comment. I can understand what you mean and I had concatenated some of my changes before the pull request using rebase -i and many cherry picking. How many changes in order do you suppose? 10 or so? |
some comments:
these are my major concerns, I have more minor comments I'll add once the major once are addressed ;) |
Yes, well...at least for the registered RGB image you need depth and RGB anyways. |
It might be better to remove the extern folder and use installed OpenNI2 instead because OpenNI2 is not actively updated.
Which headers ? I've updated libfreenect2/OpenNI2-FreenectDriver/src/DeviceDriver.cpp in 5a30f2d .
I think current implementation is no so bad while it might be better to have a member of the type. Could you tell me why the driver should not be a subclass of Freenect2?
The frame sequence numbers (FSN) of depth image and the FSN of color image have a large offset. If you use those FSN to create timestamp of the frames, depth and color timestamps have a large time lag. It might be dozen seconds, several minutes or a few hours. It looks that the FNS of depth image is reset to zero when you start streaming while the FNS of color image is free-run and not reset to zero. |
extern folder: license header: /*
* This file is part of the OpenKinect Project. http://www.openkinect.org
*
* Copyright (c) 2015 individual OpenKinect contributors. See the CONTRIB file
* for details.
*
* This code is licensed to you under the terms of the Apache License, version
* 2.0, or, at your option, the terms of the GNU General Public License,
* version 2.0. See the APACHE20 and GPL2 files for the text of the licenses,
* or the following URLs:
* http://www.apache.org/licenses/LICENSE-2.0
* http://www.gnu.org/licenses/gpl-2.0.txt
*
* If you redistribute this file in source form, modified or unmodified, you
* may:
* 1) Leave this header intact and distribute it under the same terms,
* accompanying it with the APACHE20 and GPL20 files, or
* 2) Delete the Apache 2.0 clause and accompany it with the GPL2 file, or
* 3) Delete the GPL v2 clause and accompany it with the APACHE20 file
* In all cases you must keep the copyright notice intact and include a copy
* of the CONTRIB file.
*
* Binary distributions must follow the binary distribution requirements of
* either License.
*/ you seem to have copied the DeviceDriver.cpp from some other project. I don't know how large the overlap still is and if the original license allows simply changing the license header. sub classing Freenect2: |
@HenningJ it's just strange that copying the color frame to a different buffer leads to such a large performance drop (even with registration enabled which needs just a few ms) |
done.
I tried to remove them to find that they are required by the NiTE. You can't remove them.
Yes... original driver came from "the OpenKinect Project",
OpenNI2 logging function XnLogXxxx() seems not to be a part of OpenNI2 API. You can't use the function without OpenNI2 full source code since OpenNI binary distribution does not contain XnLog.h. It's better that the driver doesn't depend OpenNI2 internal functions. |
The driver services provide logging functions. For those you don't need full OpenNI2 source ?! OK too bad nite needs s2d and d2s. Can you add the license comment to every source file? |
Please feel free to add APACHE20 / GPL2 license headers to code taken from OpenNI2-FreenectDriver. Thank you for your efforts to port it! In the original project, the driver had to subclass And I never did get OpenNI2 logging to work... |
I've pushed two changes. It seems that all issues except an issue about 001cf03 are resolved or answered. |
Yeah, it does seem excessive. Part of it was the slower registration code that was used at the time, which I changed in a later commit (a312555). |
I made new pull request #518. |
My todo list for this driver is empty now.
please refer #243