Skip to content
Snippets Groups Projects

vision_utils

Library of computer vision tools.

Installation procedure

Pre-Requisites

This package requires of the following libraries and packages

Under linux all of these utilities are available in ready-to-use packages.

Under MacOS most of the packages are available via fink.

  • cmake, a cross-platform build system
  • doxygen and graphviz to generate the documentation
  • stdc++
  • OpenCV Computer vision library. Installation of version 3.1 or higher is desirable. It is also included here the installation of the 'opencv_contrib' libraries. To install it run the following steps (example for version 3.3):
    $ wget https://github.com/opencv/opencv/archive/3.3.0.zip -O temp.zip && unzip temp.zip && rm temp.zip
    $ cd opencv-3.3.0
    $ git clone https://github.com/opencv/opencv_contrib.git && cd opencv_contrib && git checkout 3.3.0 && cd ..
    $ mkdir build && cd build
    $ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_CXX_FLAGS="-fPIC -std=c++11" -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
    $ make -j4
    $ sudo make install
* NOTE: Check that opencv and `opencv_contrib` versions are the same.  
  • YAML cpp: Used to load parameters from YAML files. To install it run the following commands:
    $ sudo apt-get update
    $ sudo apt-get install libyaml-cpp-dev
  • Boost. Free peer-reviewed portable C++ source libraries. To install it run the following commands:
    $ sudo apt-get update
    $ sudo apt-get install libboost-all-dev

Compilation

Just download this package, uncompress it, and execute

    $ cd build  
    $ cmake ..  

to generate the makefile and then

    $ make  

to obtain the shared library and also all the example programs.

The cmake only needs to be executed once (make will automatically call cmake if you modify one of the CMakeList.txt files).

To generate this documentation type

    $ make doc

The files in the build directory are genetated by cmake and make and can be safely removed.
After doing so you will need to call cmake manually again.

Configuration

The default build mode is RELEASE. That is, optimizing for speed.

With the DEBUG build mode objects and executables include debug information. To build in this mode execute

    $ cmake .. -DCMAKE_BUILD_TYPE=DEBUG

The release mode will be kept until next time cmake is executed.

Installation

In order to be able to use the library, it it necessary to copy it into the system. To do that, execute

    $ make install

as root and the shared libraries will be copied to /usr/local/lib/<vision_utils> directory and the header files will be copied to /usr/local/include/<vision_utils> directory. At this point, the library may be used by any user.

To remove the library from the system, exceute

    $ make uninstall

as root, and all the associated files will be removed from the system.

Customization

To build a new application using these library, first it is necessary to locate if the library has been installed or not using the following command in your CMakeLists.txt

    FIND_PACKAGE(vision_utils REQUIRED)

In the case that the package is present, it is necessary to add the header files directory to the include directory path by using

    INCLUDE_DIRECTORIES(${vision_utils_INCLUDE_DIR})

Finally, it is also nevessary to link with the desired libraries by using the following command

    TARGET_LINK_LIBRARIES(<executable name> ${vision_utils_LIBRARY})

License

This package is licensed under a GPL 3.0 License

Disclaimer

Copyright (C) 2017
http://www.angelsantamaria.eu
All rights reserved.

This file is part of vision_utils library

vision_utils library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see gnu licenses