OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in commercial products. This SlackBuild is incompatible with the opencv-legacy SlackBuild so they should not be installed simultaneously. OpenCV will incorporate features from a wide range of additional software that may exist on the host system at build time. The more of the relevant software packages that are available, the greater the feature set available in the resulting OpenCV package. The additional optional packages will mostly be autodetected and used at build time without any user intervention. Packages that are processed in this way include (by SBo package name): qt5 libdc1394 ffmpeg hdf5 VTK libwebp tesseract glog apache-ant numpy OpenBLAS openjdk8 (or openjdk or jdk) In the unlikely situation that features from these packages are not wanted despite already being installed on the host system, incorporation of some of them into OpenCV may be suppressed by setting the appropriate environment variable to "no" e.g. CVFFMPEG=no sh ./opencv.SlackBuild Features that may be excluded in this manner are controlled by the following environment variables: CV1394 CVFFMPEG CVVTK At least one optional package is not autodetected, even though the necessary prerequisite software may already have been installed. It must therefore be explicitly enabled by setting the appropriate environment variable: CVGDAL=yes ./opencv.SlackBuild (to support SBo's gis/gdal) Access to patented algorithms e.g.SIFT/SURF may be enabled by setting the CVNONFREE environment variable: CVNONFREE=yes ./opencv.SlackBuild Please note that some combinations of options may not be possible. In particular, if both qt5 and VTK are installed on the host build system, VTK support will be disabled unless it was built with qt5 support (which is possible but not its default). Conversely, if VTK has been built with qt5, it will be disabled in OpenCV unless it too is being built with qt5. This package is configured to generate python bindings for Python 3 (via dependency on the numpy3 package). If bindings for Python 2 are required, the numpy package is required when building opencv. The Deep Neural Network module and Extra 2D Features Framework from OpenCV's "extra modules" section are disabled by default. They may be enabled by setting the DNN and/or XF2D environment variables as required e.g. DNN=yes sh ./opencv.SlackBuild Enabling either of these modules results in additional downloading during the configure stage of building. The face recognition module is enabled by default. This incurs an additional download of the face_landmark_model.dat file (~70M) from OpenCV's github repository during configuration. If this is not desired, the face module can be disabled by setting OCV_FACE environment variable to "no" e.g. OCV_FACE=no sh ./opencv.SlackBuild Documentation is generated by the SlackBuild unless it is switched off by setting the CVDOCS environment variable i.e. CVDOCS=no sh ./opencv.SlackBuild Enabling the documentation results in additional downloading of example data during the configure stage of building. The graphviz package is an optional dependency for enhanced documentation.