OpenCV 3.4.5 build for RoboRIO
This is a set of scripts that will build OpenCV for the RoboRIO with bindings for:
- Python 3.7
The result of the compilation process is a zipfile that can be turned into IPK files using the roborio-packages repository.
NOTE: For 2017+, OpenCV 3.x is well-supported for C++ and Java by WPILib, so if you're looking to use those languages you should use their stuff instead.
The easiest way to install these packages is to set up the RobotPy opkg feed
on your RoboRIO. Create a
.conf file in
containing the following line:
src/gz robotpy http://www.tortall.net/~robotpy/feeds/2019
Once the feed is added, issue an
opkg update and then you can install
packages using the following commands (requires internet access).
opkg install python37-opencv3
opkg install opencv3
For Java (Java programming support must be installed separately):
opkg install opencv3-java
You can use the RobotPy Installer Script to do offline opkg installs. First, download the package:
python3 installer.py download-opkg python37-opencv3
Then, connect to the network with the RoboRIO, and install it:
python3 installer.py install-opkg python37-opencv3
TODO: document this
For detailed information about OpenCV, see their website. There's lots of documentation and tutorials/etc available.
Using the Python bindings
See the image processing section of the Programmer's Guide at the RobotPy documentation site for details.
Building your own version of OpenCV
You probably just want to use the compiled version on our releases page or from our opkg feed. This build has only been tested on Linux using docker as directed below.
First, install docker. Then run:
This will give you a shell in the docker container. You can then run:
If you're building on your own Linux host that has cmake and the FRC toolchain installed, you can probably just execute the following:
But... I'd recommend using the docker image instead.
zlib.h: No such file or directory: For some reason if zlib1g-dev is installed on the system, the cmake included with Ubuntu 14.04 messes up the configuration and it breaks. Uninstall zlib1g-dev and it will work.
Contributing new changes
This is intended to be a project that all members of the FIRST community can quickly and easily contribute to. If you find a bug, or have an idea that you think others can use:
- Fork this git repository to your github account
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push -u origin my-new-feature)
- Create new Pull Request on github