ViSP
Home
General overview
Download
Install from source
Install SDK
Documentation
FAQ
News
Overview
Visual servoing
Image processing
Computer vision
Simulation
Tools
Development
Third-party libraries
InriaGForge
SVN repository
Testing dashboard
Bug tracker
Support
Forum
Mailing lists
Contact us

ViSP frequently asked questions

About us

1.1 What is INRIA?
1.2 What is Lagadic?

Licence issue

2.1 What kind of licenses exist for ViSP?
2.2 What are the differences between the Commercial and the GNU GPL licenses of ViSP?
2.3 I don't want to give away my source code. What do I do?

Software modification

3.1 I have found a bug, what should I do?
3.2 Is there a bug tracking system such as bugzilla?

Subversion (svn) access to VISP

4.1 How can I get ViSP by anonymous access to the forge
4.2 How can I get ViSP by ssh access to the forge
4.3 How to update my local copy of ViSP using Subversion (svn)
4.4 How to commit my local changes to the Subversion server on the forge
4.5 I can not commit my changes to the Subversion server on the forge

ViSP building using CMake

5.1 Is it mandatory to use CMake to build ViSP?
5.2 How can I install CMake?
5.3 How can I build ViSP?
5.4 How can I change the compilation options with CMake?
5.5 How can I do an optimized build with CMake?
5.6 How can I build ViSP as a static library?
5.7 How can I build ViSP as a dynamic library
5.8 How can I change the compiler in CMake?
5.9 View compiler and linker options used
5.10 View all available CMake options/variables
5.11 Remove the CMake cache file
5.12 Make a distclean
5.13 Where to find documentation about CMake
5.14 How can I compile ViSP with Parasoft insure++?
5.15 How can I compile ViSP with Intel C++ compiler (icpc)

ViSP as a third party library

6.1 How to use ViSP as a third party library?

Known problems

7.1 Camera default configuration in DirectShow
7.2 Marlin camera drivers under Windows
7.3 ViSP compatibility with Microsoft Visual Studio


1. About us

1.1 What is INRIA?

The National Institute for Research in Computer Science and Control (in French: Institut national de recherche en informatique et en automatique, INRIA) is a French national research institution focusing on computer science, control theory and applied mathematics.

INRIA is a Public Scientific and Technical Research Establishment (EPST) under the double supervision of the French Ministry of National Education, Advanced Instruction and Research and the Ministry of Economy, Finance and Industry.

1.2 What is Lagadic?

Lagadic is an INRIA research project located at INRIA Rennes - Bretagne Atlantique. Lagadic research work is concerned with visual servoing, visual tracking, robotics, computer vision, and augmented reality. Lagadic is headed by François Chaumette.


2. Licence issue

2.1 What kind of licenses exist for ViSP?

The ViSP software is released under a dual licensing model: the GNU GPL version 2 for developing open source software under the terms of the GPL license, and the ViSP Professional Edition License for the development of proprietary software.

Don't hesitate to contact visp@inria.fr if you have questions about our licensing model.

2.2 What are the differences between the GNU GPL license and the Professional Edition license of ViSP?

The GNU GPL version 2 license is appropriate for the development of applications where you wish to use ViSP in combination with software subject to the terms of the GNU General Public License version 2 or where you are otherwise willing to comply with the terms of the GNU General Public License version 2.

The ViSP Professional Edition License is the appropriate version to use for the development of proprietary software. This version is for developers who do not want to share the source code with others, or otherwise do not comply with the terms of the GNU GPL version 2.0. In other terms, with the Professional Edition License you avoid the licensing restrictions of the GPL. If you are interested by this license, contact visp@inria.fr.

2.3 I don't want to give away my source code. What do I do?

Then you need the ViSP Professional Edition License. Please contact visp@irisa.fr.


3. Software modification

3.1 I have found a bug, what should I do?

You should first report the bug, either by using the bug tracker hosted on INRIA's forge or by sending an email at visp@irisa.fr.

I you fix the bug we are interested to introduce the fix in the under development version of ViSP. You can report the bug fix using the patch tracking system on Inria's forge. You can also send us the fix by email at visp@irisa.fr.

3.2 Is there a bug tracking system such as bugzilla?

Yes. You can use the bug tracker on Inria's forge.


4. Subversion (svn) acces to VISP

4.1 How can I get ViSP by anonymous access to the forge

Be aware that if you get ViSP by anonymous access, you are not allowed to commit your changes in the code after. If you think that you will have to commit files in the future, it is suggested to get ViSP by ssh access.

svn checkout svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP

During the checkout, if you want to create a directory called ViSP-code for the working files, instead of using the module name ViSP, use the following command:

svn checkout svn://scm.gforge.inria.fr/svn/visp/trunk/ViSP ViSP-code

4.2 How can I get ViSP by ssh access to the forge

To have write access (to allow commits for example) you have to be in the ViSP developer list http://gforge.inria.fr/project/memberlist.php?group_id=397.

  • If you are not yet in the ViSP developer list, you have first to create an account. To do so, go to the front page http://gforge.inria.fr and click on the "New account" link located in the top right corner of the page. Fill in the fields and click on the "Submit" button located at the bottom of the page. You will receive a confirmation email a short time later that contains important information to complete the creation of your account. Once your account has been created, you have to setup ssh (see GForge FAQ Q6). Then you have to ask to join the developer team. You can access to your account through the following web page https://gforge.inria.fr/my/

  • If you are in the ViSP developer team and if you have setup your ssh access, you can get ViSP by:

    svn checkout svn+ssh://username@scm.gforge.inria.fr/svn/visp/trunk/ViSP
    During the checkout, if you want to create a directory called ViSP-code for the working files, instead of using the module name ViSP, use the following command:

    svn checkout svn+ssh://username@scm.gforge.inria.fr/svn/visp/trunk/ViSP ViSP-code
    In the previous svn commands, you have to replace "username" by your real username corresponding to your new account on the forge.

4.3 How to update my local copy of ViSP using Subversion (svn)

Once you have checked out ViSP in a directory (see FAQ 4.2) , you can use the following command in this directory to get the last changes.

svn update

4.4 How to commit my local changes to the Subversion server on the forge

Once you have checked out ViSP (see FAQ 4.2), in the source code directory, you may use the following commands:

svn update
svn status

These commands will first synchronise your local copy with the server by updating the source code, and next identify all the files that are modified. You can than commit your changes using:

svn commit

4.5 I can not commit my changes to the Subversion server on the forge

The ViSP project is only available in read-only mode when using anonymous access. You need to create an account on the forge and to be member of the development team to commit your changes (see see FAQ 4.2).

%svn commit
%svn commit ChangeLog
svn: Commit failed (details follow):
svn: Authorization failed
svn: Your commit message was left in a temporary file:
svn: '/tmp/ViSP-code/svn-commit.tmp'


5. ViSP building using CMake

5.1 Is it mandatory to use CMake to build ViSP?

Yes.

CMake is an open-source cross-platform system used in ViSP to allow ViSP building under Linux, OSX and Windows. CMake is used to control the software compilation process using simple platform and compiler independent configuration files.

CMake is very easy to install from http://www.cmake.org/ pages.

5.2 How can I install CMake?

On http://www.cmake.org/ pages, you will find binary distributions of CMake that are very easy to install on Windows, Linux, Mac OSX, SunOS, IRIX, HPUX and AIX operating systems.

5.3 How can I build ViSP?

Prior to build ViSP, you need to install CMake, see see FAQ 5.2.

Then depending on your OS you have to use CMake to create the build material corresponding to your compiler. This stage is easy, and fully described in ViSP getting started documents:

  Getting started for Unix platforms.

  Getting started for Windows.

5.4 How can I change the compilation options with CMake?

You can change your configuration easily with ccmake GUI.

ccmake <visp source dir>
type 't' to toggle display of advanced variables

or

cmake -LA <source dir>

to have the list of all configuration variables.

5.5 How can I do an optimized build with CMake?

cmake -DCMAKE_BUILD_TYPE=Release <visp source dir>

or use

ccmake <visp source dir>

to set CMAKE_BUILD_TYPE.

Available build types are: Release, Debug, RelWithDebInfo, MinSizeRel. The build process uses specific build variable CMAKE_CXX_FLAGS_*. For example Release build uses CMAKE_CXX_FLAGS_RELEASE, while Debug build uses CMAKE_CXX_FLAGS_DEBUG. The flags according to the different build types can be seen with:

cmake -LA <visp source dir>

5.6 How can I build ViSP as a static library?

cmake -DBUILD_SHARED_LIBS=OFF <visp source dir>

or use

ccmake <visp source dir>

to set BUILD_SHARED_LIBS to OFF. Under Unix platforms it will produce libvisp*.a. Under Windows libvisp*.lib.

5.7 How can I build ViSP as a dynamic library?

cmake -DBUILD_SHARED_LIBS=ON <visp source dir>

or use

ccmake <visp source dir>

to set BUILD_SHARED_LIBS to ON. Under Unix platforms, it will produce libvisp*.so, under Windows libvisp*.lib and libvisp*.dll.

5.8 How can I change the compiler in CMake

  • Under Windows, the CMake GUI allows to select your compiler.

  • Under Linux or OSX, to change your compiler, just set the CXX environment variable with you desired compiler. Then use as usual CMake. The command below shows how to use the icpc compiler.

    export CXX icpc

    On FAQ 5.15 an other example is given using the insure++ compiler.

5.10 View compiler and linker options used

cmake -DCMAKE_VERBOSE_MAKEFILE=ON <visp source dir>

or set CMAKE_VERBOSE_MAKEFILE to ON using the CMake GUI.

This will generate more 'verbose' makefile including compiler calls instead of default "SILENT".

5.11 View all available CMake options/variables

ccmake <visp source dir>
type 't' to toggle display of advanced variables

or

cmake -LA <visp source dir>

5.12 Remove the CMake cache file

cd <visp build dir> ; rm CMakeCache.txt

5.13 Make a distclean

CMake does not generate a "make distclean" target (see the cmake FAQ). CMake generates many files related to the build system, but since CMakeLists.txt files can run scripts and other arbitrary commands, there is no way it can keep track of exactly which files are generated as part of running CMake.

So, for in-source build under Unix platforms, we have developped a distclean shell script (working only under Unix platforms) that removes these files related to the build system. To remove some intermediate files related to the build system: sh ./distclean.sh

For out-of-source build, just remove the <visp build dir> tree.

5.14 Where to find documentation about CMake

Almost complete documentation of cmake commands: cmake --help-full and CMake website.

The 250-page book Mastering CMake by Ken Martin and Bill Hoffman, ISBN 1-930934-16-5, published by Kitware, Inc.

5.15 How can I compile ViSP with Parasoft insure++

Insure++, a Parasoft product, enables fast, reliable detection and resolution of elusive runtime memory errors.

For example, if insure++ is installed on a Linux computer on:

linux% which insure
/soft/insure++/bin.linux2/insure

refering to FAQ 5.4 set your options first

ccmake <visp source dir>
type 't' to toggle display of advanced variables

Then set the insure++ compiler like

cmake -DCMAKE_CXX_COMPILER=/soft/insure++/bin.linux2/insure <visp source dir>

Because CMake separates code compilation and objects link, i.e.

insure -c foo.cc
insure -o foo foo.o

you need to tell Insure what type of linking to use, C or C++. Insure cannot tell from a .o file which linking to use, so C linking is used by default. You can tell Insure to use C++ linking by adding the line:

insure++.compiler_default cpp

to your $(HOME)/.psrc file. This option tells Insure to use the default C++ compiler to link, which you can set using the compiler_cpp option.

5.13 How can I compile ViSP with Intel C++ compiler (icpc)

If Intel C++ compiler (icpc) is available on your computer, you may build ViSP with it.

For example, if icpc is installed on a Linux computer on:

linux% which icpc
/soft/icc/icc/bin/icpc

refering to FAQ 5.4 set your options first

ccmake <visp source dir>
type 't' to toggle display of advanced variables

Then set the Intel C++ compiler location like

cmake -DCMAKE_CXX_COMPILER=/soft/icc/icc/bin/icpc <visp source dir>

If the following error occurs during compilation

error "Catastrophic error: could not set locale "" to allow processing of multibyte characters"

depending on your shell set the LANG environment variable as:

setenv LANG C (or export LANG=C)


6. ViSP as a third party library

6.1 How to use ViSP as a third party library?

Once ViSP is build (see FAQ 5.3) you may link your own development with ViSP. ViSP getting started documents describe fully the way to use ViSP as a third party library:

  Getting started for Unix platforms.

  Getting started for Windows.


7. Known problems

7.1 Camera default configuration in DirectShow

DirectShow framegrabber selects automatically the default mode of the connected camera. This mode may be different than the one selected in other programs.

7.2 Marlin camera drivers under Windows

When using Marlin camera (from AVT), you may have to install the Direct FirePackage in order to use it under Windows.

You may need to desinstall Firepackage drivers before installing the DirectFirePackage drivers.

7.3 ViSP compatibility with Microsoft Visual Studio

ViSP is not compatible with Microsoft Visual Studio 6 (Visual C++ 6.0 or MSVC6). ViSP compiles with Microsoft Visual Studio 7 (MSVC7), Microsoft Visual Studio 7 .NET 2003 (MSVC71), and Microsoft Visual Studio 8 2005 (MSVC8).

ViSP 2.6.1 latest release
Download
API documentation
Resources
Getting started
ViSP data set


| Lagadic | Map | Team | Publications | Demonstrations |
Irisa - Inria - Copyright 2012 © Lagadic Project