-
-
Notifications
You must be signed in to change notification settings - Fork 55.6k
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
OpenCV does not track correctly libOpenNI2.so #23579
Comments
Hello @Lecrapouille , thank you for the report! Documentation issues are confirmed. We will update the links and also the outdated step-by-step tutorial. As for the linkage problem, I personally think that |
@fengyuentau thanks you, good news :) Concerning dependencies, you can ignore my issue 2: I guess it does not exist |
@fengyuentau PS: oh by the way, have you fixed |
Does this issue only happen on Orbbec cameras or other cameras as well with your USB bandwidth limited device? |
Do you mean the size of the color image cannot be set or of the depth image cannot? |
@kaingwade @fengyuentau the size of the depth image cannot be set. Sorry, I fixed my typo in my previous message. In the tutorial:
(my current code is different from this tutorial) the which needs to set first the generator, but in my case, it seems not working with my mini astra: Reading back the spec https://www.reichelt.com/ch/fr/orbbec3d-astra-mini-s-astra-mini-s-p263253.html The tutorial could help clarify and by the way it's sad that enum are not |
@Lecrapouille Thank you for the feedback. The tutorial indeed needs to be updated and improved. Btw newer UVC Orbbec cameras are now supported as well, and are much simpler to call: videocapture_obsensor.cpp, videocapture_obsensor.py |
@kaingwade Yes I was aware of that and I suggested them to my team. |
Do you have another device with bigger USB bandwidth to test whether it is the source of your problem? Or you can provide me your USB version and I will doublecheck with Orbbec devs. |
@fengyuentau no sorry I do not have a bigger device. My USB is 2.0 but also related to #23787 while in this ticket, initially I could not run more than 2 RGB webcam simultaneously, I can only run the Orbbec in RGB at 320x240 and the depth at 640x480. If the RGB is let to the default size the ioctl() stalls and if do open/grab/retrieve/release with the depth sensor I will have 2 or 3 black images upon 4 captures. |
No. According to the message from linker you need to properly install (standard location) or properly specify user-defined location of
Try OpenCV build system not a "package manager" and it doesn't responsible for installing and configuration of 3rdparty dependencies. |
Use |
Status:
|
Fix broken links and outdated information for documentation of Orbbec camera #23829 Resolves the documentation issue from #23579. Orbbec is moving to support UVC directly so they do not provide the old `install.sh` for OpenNI SDK >= 2.3.0.86. Also in their new release of OpenNI SDK, paths of include headers and libraries are changed. Changing our cmake script for this change does not make sense since we cannot make this kind of change everytime they update. So just added a subsection providing `install.sh` for users as a workaround on our side. @Lecrapouille You may also take a look at this pull request. ### Pull Request Readiness Checklist See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch - [x] There is a reference to the original bug report and related work - [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable Patch to opencv_extra has the same branch name. - [ ] The feature is well documented and sample code can be built with the project CMake
Fix broken links and outdated information for documentation of Orbbec camera opencv#23829 Resolves the documentation issue from opencv#23579. Orbbec is moving to support UVC directly so they do not provide the old `install.sh` for OpenNI SDK >= 2.3.0.86. Also in their new release of OpenNI SDK, paths of include headers and libraries are changed. Changing our cmake script for this change does not make sense since we cannot make this kind of change everytime they update. So just added a subsection providing `install.sh` for users as a workaround on our side. @Lecrapouille You may also take a look at this pull request. ### Pull Request Readiness Checklist See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch - [x] There is a reference to the original bug report and related work - [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable Patch to opencv_extra has the same branch name. - [ ] The feature is well documented and sample code can be built with the project CMake
Fix broken links and outdated information for documentation of Orbbec camera opencv#23829 Resolves the documentation issue from opencv#23579. Orbbec is moving to support UVC directly so they do not provide the old `install.sh` for OpenNI SDK >= 2.3.0.86. Also in their new release of OpenNI SDK, paths of include headers and libraries are changed. Changing our cmake script for this change does not make sense since we cannot make this kind of change everytime they update. So just added a subsection providing `install.sh` for users as a workaround on our side. @Lecrapouille You may also take a look at this pull request. ### Pull Request Readiness Checklist See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch - [x] There is a reference to the original bug report and related work - [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable Patch to opencv_extra has the same branch name. - [ ] The feature is well documented and sample code can be built with the project CMake
System Information
This issue is architecture agnostic. Anyway:
OpenCV version: 4.6.0 SHA1 3f371fe
Operating System / Platform: Ubuntu 20.04
Compiler & compiler version: x86_64 with g++
Compiler & compiler version: x86_64 with cross-compiler ARM i.MX 8
Detailed description
My issue is in two points. A minor: some issues inside the documentation (out of date). I should have created a dedicated ticket, but this linked with my major issue: OpenCV does not track libOpenNI2.so to OpenCV_LIBS and it should do it.
Concerning the documentation
the link to Orbbec is broken:
opencv/doc/tutorials/app/orbbec_astra.markdown
Line 12 in f7bee78
the link to the SDK 2.3 is broken:
opencv/doc/tutorials/app/orbbec_astra.markdown
Line 21 in f7bee78
This last can be found here https://orbbec3d.com/index/download.html "Orbbec OpenNI SDK for Linux". With a
wget
command, I downloaded it and compiled OpenCV against it (x86_64 and arm imx8).Issue 1
OpenNIDevEnvironment
file is not made. So the following commands in the tutorial are useless:opencv/doc/tutorials/app/orbbec_astra.markdown
Line 32 in f7bee78
opencv/doc/tutorials/app/orbbec_astra.markdown
Line 38 in f7bee78
opencv/modules/videoio/cmake/detect_openni2.cmake
Line 18 in f7bee78
It is
"libs"
now. If I updatedetect_openni2.cmake
and the setOPENNI2_DIR="$OPENNI_PATH/sdk"
to the cmake command for compiling OpenCV, it does not find my local libOpenNI2.so but only the one installed in my operating system (with apt-get install I guess).I see:
The next issue is my main concern for this ticket.
Issue 2
while OPENNI2_LIBRARIES is set in
opencv/modules/videoio/cmake/detect_openni2.cmake
Line 36 in f7bee78
When linking my project against OpenCV in my CMakeLists.txt:
I have a linkage issue:
Because
OpenCV_LIBS
does not contain libOpenNI2.so. This can be solved if I choose one of the following solution:target_link_libraries(myapplication ${OpenCV_LIBS} /xxx/libOpenNI2.so)
The first solution is not possible for me (not admin, CI ...). The second solution works, but my project depends on third part libraries using the OpenCV compiled locally will fail because they also need libOpenNI2.so (and I cannot modify their CMake files). The LD_LIBRARY_PATH does not work (cross compilation, I don't know why).
As general issue: When linking to external third parts libs such OpenNI, OpenCV shall set them in the CMake variable
OpenCV_LIBS
(same thing for library paths) and shall do not depend on the presence of installed system libraries. Therefore:shall display ... libopencv_videoio.so ... libOpenNI2.so
Steps to reproduce
What desired ?
To include OPENNI2_LIBRARY inside the OpenCV_LIBS variable as well for lib folder paths.
Issue submission checklist
Update
colorStream.set(CAP_PROP_FRAME_WIDTH, 640)
but this function is failing (return false). We cannot change the resolution. The get() function returns correctly the resolution and FPS (et least for with Mini Astra).The text was updated successfully, but these errors were encountered: