Notre programme peut être compilé avec OpenCV en version 2.4.x ou 3.x.

Pour utiliser OpenCV  2.4.x, il est nécessaire de modifier les sources d'OpenCV et de le recompiler.
Pour utiliser OpenCV 3.x, une version déjà compilée peut être installée via le gestionnaire de paquet si elle est disponible. Sinon les sources peuvent être compilées.

Nous détaillons ici la façon de recompiler OpenCV:
0) L'installation des dépendances nécessaire pour la compilation
1) La compilation d'OpenCV 3.X
2) La compilation d'OpenCV 2.4.X modifiée/patchée.


0) Installer les dépendances

Vous devez installer les dépendances suivantes :
g++ cmake zlib libpng libjpeg

Le plus souvent des paquets pré-compilés existent pour la distribution.
Pour Fedora (19) ou CentOS (6) :
su -c 'yum install gcc-c++ cmake zlib-devel libpng-devel libjpeg-turbo'
Pour Ubuntu
$> sudo apt-get install g++ cmake libz-dev libpng-dev libjpeg-dev
Pour Debian
$> su -c 'apt-get install g++ cmake libz-dev libpng-dev libjpeg-dev'

REM: CentOS 6.5 ne propose qu'une version pré-compilé assez vieille de CMake.
Il est préférable d'installer une version récente (2.8.12.2 par exemple) depuis les sources.

1) Compilation d'OpenCV 3.4.0 depuis les sources

 1.a) Récupérer les sources

 $> wget https://github.com/opencv/opencv/archive/3.4.0.zip

 1.a) Compilation

 $> unzip 3.4.0.zip
 $> cd opencv-3.4.0
 $> mkdir build
 $> cd build
 $> cmake .. -DENABLE_FAST_MATH=ON -DBUILD_DOCS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DWITH_CUDA=OFF -DWITH_CUFFT=OFF -DWITH_FFMPEG=OFF -DWITH_GIGEAPI=OFF -DWITH_JASPER=OFF -DWITH_LIBV4L=OFF  -DWITH_MATLAB=OFF -DWITH_OPENCL=OFF -DWITH_OPENCLAMDBLAS=OFF -DWITH_OPENCLAMDFFT=OFF -DWITH_OPENEXR=OFF -DWITH_PVAPI=OFF -DWITH_V4L=OFF -DWITH_VTK=OFF -DWITH_WEBP=OFF -DWITH_1394=OFF -DBUILD_opencv_apps=OFF -DBUILD_opencv_calib3d=ON -DBUILD_opencv_features2d=ON -DBUILD_opencv_flann=ON -DBUILD_opencv_ml=ON -DBUILD_opencv_objdetect=OFF -DBUILD_opencv_shape=OFF -DBUILD_opencv_stitching=OFF -DBUILD_opencv_superres=OFF -DBUILD_opencv_ts=OFF -DBUILD_opencv_video=OFF -DBUILD_opencv_videoio=ON -DBUILD_opencv_videostab=OFF -DBUILD_opencv_world=OFF -DBUILD_opencv_highgui=ON -DPYTHON2_EXECUTABLE="" -DPYTHON3_EXECUTABLE="" -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF -DWITH_QUICKTIME=OFF -DHAVE_QTKIT=FALSE
 $> make -j 3 

 $> sudo make install  [sous Ubuntu]
 $> su -c 'make install' [sous Fedora ou Debian]



2) Modification/Path et compilation d'OpenCV 2.4.13.5 depuis les sources

 2.a) Récupérer les sources 

  wget https://github.com/opencv/opencv/archive/2.4.13.5.zip

 2.b) Décompresser les sources 

  unzip 2.4.13.5.zip

 2.c) Patcher les sources

 $>  cp .../Pack201406A/patches_OpenCV/patch_24135/ml.hpp  opencv-2.4.13.5/modules/ml/include/opencv2/ml/
 $>  cp .../Pack201406A/patches_OpenCV/patch_24135/svm.cpp opencv-2.4.13.5/modules/ml/src/

  2.d) Compiler OpenCV 

  $> cd opencv-2.4.13.5/
  $> mkdir build
  $> cd build
  $> cmake .. -DBUILD_DOCS=0 -DBUILD_PERF_TESTS=0 -DBUILD_TESTS=0 -DENABLE_FAST_MATH=1 -DWITH_CUDA=0 -DWITH_CUFFT=0 -DWITH_OPENMP=1 -DWITH_OPENCL=0 -DBUILD_opencv_calib3d=ON -DBUILD_opencv_features2d=ON -DBUILD_opencv_flann=ON -DBUILD_opencv_ml=ON -DBUILD_opencv_objdetect=OFF -DBUILD_opencv_stitching=OFF -DBUILD_opencv_superres=OFF -DBUILD_opencv_ts=OFF -DBUILD_opencv_video=OFF -DBUILD_opencv_videostab=OFF -DBUILD_opencv_highgui=ON 
  $> make -j 4

  $> sudo make install  [sous Ubuntu]
  $> su -c 'make install' [sous Fedora ou Debian]




