Install OpenCV 3 non-free module on Ubuntu
The opencv_nonfree module provides very useful features such as two prominent image features SIFT and SURF (including the CUDA’s implementation). In this tutorial, I demonstrate how to install this module into OpenCV 3 on Ubuntu.
Prerequisites
- Remove the old version which has been installed in the system.
- Do not install
opencvviaapt-get - Install
cmake:sudo apt-get install cmake
Installation
- Download opencv
git clone https://github.com/opencv/opencv- Do not download the source from homepage.
- Download the
opencv_contrib:git clone https://github.com/opencv/opencv_contrib- Check both
opencvandopencv_contribare the latest versions otherwise we can not compile them.
- Check both
- Extract the source.
cd path/to/opencv-sourceRun Cmake: cmake-gui- In the textbox
Where is the source code, it should be the path of OpenCV Where to build the binaries: path to your build directory, e.g,~/opencv/build- Select
Configure - When the dialog
CMakeSetuppops up, configure the compiler according to your system. (Most of the time is to selectUnix Makefilesas the generator andUse default native compilersas well.) After automatically generating Makefiles, CMake will show all available settings.

Select
OPENCV>OPENCV_ENALBLE_NONFREEOn
OPENCV>OPENCV_EXTRA_MODULES_PATH, give the path to foldermodulesinsideopencv_contribSelect
Configurethe project again. On the output window, check whether it producesNon-free algorithms are enabled.On
BUILD, make sure that you have selected the appropriate modules for features extraction, e.g,BUILD_opencv_xfeatures2d.Configurethe project again.Select
Generatecd /path/to/opencv/buildmake all(To speed up :make all -j8)make install
Done.