Build opencv with opencv_contrib for windows 10

MethodClone opencv_contrib

Enter following command to clone opencv_contrib in in /g/lib

1
cd /g/lib
2
git clone https://github.com/opencv/opencv_contrib

opencv and opencv_contrib should be in same folder.

if you enter following comand in git bash

cd /g/lib/

ls opencv*

results must be

You must not clone opencv_contrib inside opencv folder.

You must use same version of opencv and opencv_contrib : clone opencv and opencv_contrib same day.

MethodBuilding opencv and and opencv_contrib using a bash script

Save following script as buildocv.sh in /g/lib

1
#!/bin/bash -e
2
RepoSource=opencv
3
if [  $# -eq 0 ]
4
then 
5
    RepoBuild=opencv
6
    RepoInstall=opencv
7
else
8
    RepoBuild=$1
9
    RepoInstall=$1
10
fi
11
if [ ! -d Build/$RepoBuild ]; then
12
  mkdir Build/$RepoBuild
13
fi
14
15
pushd Build/$RepoBuild
16
CMAKE_OPTIONS='-DBUILD_opencv_world:BOOL=OFF -DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF -DWITH_CUDA:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_WITH_STATIC_CRT:BOOL=ON'
17
CMAKE_CONFIG_GENERATOR="Visual Studio 15 2017 Win64" 
18
cmake -G"$CMAKE_CONFIG_GENERATOR" $CMAKE_OPTIONS \
19
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
20
-DCMAKE_INSTALL_PREFIX="$myRepo"/install/"$RepoInstall"  ../../"$RepoSource"
21
22
echo "************************* $Source_DIR -->devenv debug"
23
cmake --build . --config release 
24
echo "************************* $Source_DIR -->devenv release"
25
cmake --build .  --target install --config release 
26
echo "************************* $Source_DIR -->devenv debug"
27
cmake --build .  --config debug 
28
echo "************************* $Source_DIR -->devenv release"
29
cmake --build .  --target install --config debug 
30
popd
31
32
33

Enter following command in git bash to build opencv :

cd /g/lib

./buildocv.sh

opencv with opencv_contrib will be build and install /g/lib/install/opencv