The laptop you are using should work.
I believe the gstreamer plug-in may be a better route. However, no one has documented how to use it. I have not used it myself. The developer, nickel110, is the same developer that wrote the libuvc-theta and libuvc-theta-sample projects.
Based on the high-quality of his other open source projects, I think it is likely that the gstreamer plug-in does work.
the information below is based on an email from the open source developer. If you are willing to try this approach and document it here, I can email the developer and point out your post if you get stuck. This is a personal project of the developer. He’s often busy with his normal job and he’s also not a native English speaker. so, he doesn’t often post directly in this forum. But, he may be able to provide advice if we have a specific problem with the thetauvc plug-in he wrote for gstreamer.
If you give it a try, it may also motivate other people to try it. It’s likely that the plug-in solves other problems such as easier use of multiple THETA cameras on the same computer.
If OpenCV is built with gstreamer backend enabled, VideoCapture::open()
accepts the gstreamer pipeline description as its argument like
VideoCapture cap;
cap.open("thetauvcsrc ! h264parse ! decodebin ! videoconvert ! appsink");
opencv/cap_gstreamer.cpp at 1f726e81f91746e16f4a6110681658f8709e7dd2 · opencv/opencv · GitHub
you can capture image directly from gstreamer.
Please note that the standard image format on OpenCV is “BGR” which is not supported by most hardware assisted colorspace converter plugins, thus, you have to use software converter.
Since recent OpenCV accepts I420 or NV12 as input format for VideoCapture, you can capture without color conversion and convert using OpenCV if necessary.
It’s possible that gstreamer could be used with the ROS OpenCV camera driver if OpenCV is built with the gstreamer backend enabled.
- Makefile in the gstthetauvc does not have “install” target. Please copy the plugin file (gstthetauvc.so) into appropriate directory. If you copied it into directory other than gstreamer plugin directory, you have to set the directory to the GST_PLUGIN_PATH environment variable.
- The plugin has several properties to specify resolution and THETA to use(if multipe THETA are connected to the system).
Run “gst-inspect-1.0 thetauvcsrc” for detail. - For Ubuntu 20 and Jetson users, OpenCV packages from Ubuntu official or nvidia have gstreamer backend.
- For Ubuntu 18 users, official OpenCV packages do not have gstreamer backend and the version(3.2) is too old to use with the gstreamer. If you want to use on Ubuntu 18, build the latest OpenCV from the source, or AT YOUR OWN RISK, you can use unofficial OpenCV binary packages for Ubuntu 18 like