ViSP Python Documentation

Welcome to the ViSP Python binding documentation!

ViSP is a modular C++ library that allows fast development of visual servoing applications. ViSP is developed and maintained by the Inria Rainbow (former Lagadic) team located at Inria Rennes.


This documentation is specifically aimed at developers choosing to use ViSP in Python.

Other, more general resources, are available:


This documentation does not cover the full capabilities of ViSP. Please see the C++ documentation, which contains:

  • Tutorials on:

    • The core concepts: linear algebra, image processing, etc.

    • Visual servoing with 3D, 2D or photometric features

    • Object pose estimation and tracking

      • With the model-based tracker (MBT) visp.mbt.MbGenericTracker

      • With MegaPose, a deep learning approach to pose estimation visp.dnn_tracker.MegaPose

  • Examples

    • Demonstrating basic feature usage

    • Servoing on specific robotics platforms

    • Tracking


There are still issues with these generated bindings: see Known issues.

Getting started

If you are transitioning from C++, please have a look at the Differences with C++ ViSP to understand the differences between the Python and C++ versions.

For general ViSP + Python guidance, see the Python specific features and help.

For tutorials and examples of specific features: see Examples.

Finally, if you wish to browse the full ViSP class documentation, go to the API reference.

Customizing, extending and contributing to the bindings

If you wish to contribute, extend or modify the bindings for your own needs, please read Modifying and contributing to the bindings