opencv/modules/dnn/tutorials/tutorial_dnn_build.markdown
2017-06-26 13:41:51 +03:00

3.0 KiB

Build opencv_contrib with dnn module

Introduction

opencv_dnn module is placed in the secondary opencv_contrib repository, which isn't distributed in binary form, therefore you need to build it manually.

To do this you need to have installed: CMake, git, and build system (gcc with make for Linux or MS Visual Studio for Windows)

Steps

-# Make any directory, for example opencv_root

-# Clone opencv and opencv_contrib repos to the opencv_root. You can do it in terminal like here: @code cd opencv_root git clone https://github.com/opencv/opencv git clone https://github.com/opencv/opencv_contrib @endcode

-# Run [CMake-gui] and set source and build directories:

- Set source code directory to **opencv_root**/opencv;

- Set binaries directory, for example, to **opencv_root**/build_opencv.
  This directory will contain built libraries.
  ![](images/build_1.png)

-# Configure opencv: - press Configure; - choose the preferred project generator (Makefiles for Linux, MS Visual Studio for Windows); - also you can set many opencv build options, for more details see @ref tutorial_linux_install.

-# In the appeared list of build parameters find parameter OPENCV_EXTRA_MODULES_PATH and set it to the opencv_root/opencv_contrib.

-# Configure the project again, and set build options of dnn module:

- `BUILD_opencv_dnn` parameter must exist and be checked.

- dnn module covers waste part of [Caffe](http://caffe.berkeleyvision.org) framework functionality.
  However, to load Caffe networks libprotobuf is required.
  You you can uncheck `BUILD_LIBPROTOBUF_FROM_SOURCES` flag to try use protobuf installed in your system.
  Elsewise libpotobuf will be built from opencv sources.

- You can additionally check `opencv_dnn_BUILD_TORCH_IMPORTER` parameter to build [Torch7](http://torch.ch/) importer.
  It allows you to use networks, generated by [Torch7.nn](https://github.com/torch/nn/blob/master/README.md/) module.
  ![](images/build_4.png)

-# Press Configure and Generate.

-# Build the generated project: - If Makefiles generator on Unix was used, run the following in terminal: @code cd opencv_root/build_opencv make all @endcode - If MS Visual Studio generator was used, then open OpenCV.sln from opencv_root/build_opencv folder in the Visual Studio, and build it by choosing Build -> Build Solution menu or using F7 short-cut.

-# Now you can build own program by using libraries were built into opencv_root/build_opencv/lib. See the following tutorials to learn how to create a program using OpenCV: - @ref tutorial_windows_install - @ref tutorial_linux_gcc_cmake