Hello,
Which are the correct OpenCV libraries I should link with the target SNPE executable on the RB5 and where can I find these libraries? (I have downloaded the OpenCV source code but can't see any aarch64_linux libraries to link to)
Thanks
Hello,
Which are the correct OpenCV libraries I should link with the target SNPE executable on the RB5 and where can I find these libraries? (I have downloaded the OpenCV source code but can't see any aarch64_linux libraries to link to)
Thanks
Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.
Object detection with TensorFlow Lite - Qualcomm Developer Network
If you look at step 4, it has instructions for building OpenCV for Weyland on the RB5. It done on target (so buld on the board).
Hello and thank you for your answer.
I tried following the example in your link but I get the follwing error:
How can I solve this errror?
Thanks in advance.
If I change the api in the OpenCV code in main.cpp from cv::CAP_ANY to cv::CAP_V4L2, I get the follwing error:
Please help me get rid of this error, or plrease update your example in https://developer.qualcomm.com/project/object-detection-tensorflow-lite#.... to work properly.
Thanks
If I try to build OpenCV Wayland with
I get:
If I try to list the video devices in the RB5, I get the following:
I think you'd have to post these questions in the software AI forum, they know a lot more about those tools and how to use them than I do.
Hi,
Are you using a USB Camera? Because this example works with a USB camera, not the onboard cameras.
You should use Gstreamer to get access to the cameras using qtiqmmfsrc plugin.
Hello and thank you vrey much for your answer.
I was using the onboard MIPI cameras. So you are saying that the only way to get a camera feed from the MIPI cameras is through the GStreamer plugin? I am sure I have used V4L2 to access MIPI cameras on other platforms.
Why is GStreamer the preferred option?
Can the Gstreamer be invoked from within a C++ main.cpp file or does it have to be invoked from the terminal and have it running in the background and then somehow redirect he camera feed to the main.cpp application?
Can you procide an example of how you would do it?
Thanks in advance.
GitHub - quic/sample-apps-for-Qualcomm-Robotics-RB5-platform
In the RB5 github there are gstreamer code samples
Hello, I had come across the GStreamer applications, but I would like to know if it is the only option to work with the onboard MIPI cameras, meaning V4L2 would not be an option.
I kindly ask you to reply to my quesions above too.
Kind regards.
Hi 22imonreal,
The camera which is connected on CAM port of RB5 won't support directly with VideoCapture with camera id.
Reason for that is ioctl call for Camera drivers of RB5's Camera is not matching with the V4L2's ioctl call.
For making it work out, you can create the gstreamer pipeline for the camera using qtiqmmfsrc element for input source.
Please follow the steps in order to resolve your problem,
NOTE: Please keep running the above pipeline in seperate terminal.
Now, you can use VideoCapture, and pass streaming URL to get the frames using OpenCV, Please refer below Example,
Hope this will resolve your issue,
Thanks & Regards,
Sahil Bandar
Thank you very much for your answer, it definitely helps!
I tried saving the frame to a file as follows, but I got the following error:
Any suggestions as to why I wouldn't be able to save the frame?
Thank you in advance.
Actually, I have checked that the frame is correctly saved as a .jpg image, so I will try to embed that code inside a main loop and see if it no longer fails with a missing frame.
Any other suggestions are welcome.
Hi 22imonreal,
The msg logs which you are getting is from h264 decoder, in start of the application, because of empty buffer it will give the same warning, and it won't affect your execution of application.
For few set of frame in start there are chances that you will get this warning, but it will work fine after 2-3 seconds of starting the application.
If you are getting empty image as a written in storage, Please remove the break from while loop of your source, It is causing the break loop and storing just first frame in loop which can be blank also.
Thanks & Regards,
Sahil Bandar
Hello Sahil,
Thank you for your help.
For some reason I cannot get it to work in C++. Would you be able to provide an equivalent piece of code to the Python code provided above but in C++ this time?
Thanks
With this application:
I'm getting the following error:
Why does the error suggest I am missing a required plugin? What required plugin?
Does the above have anything to do with building OpenCV Wayland with -DFFMPEG=ON?
Thanks for your help.
Hi 22imonreal,
I've tested the both CPP & Python Script and in both case this is working fine for me on RB5.
As You can see in the error which you posted, It is saying connection refused to 192.168.1.104:8900, that means either you have not started the gstreamer pipeline in seperate terminal or not connected to network or you have entered the wrong IP of RB5.
Please check the aspect mentioned above to resolve the problem.
Hope this will solve your problem.
Thanks,
Sahil Bandar
I am having same set of problems and cross checked evrything. How can I resolve this issue? My Opencv-wayland doesn't have buildin Gstreamer. How to install one?