Camera Selector

Vimba SDK

Vimba is the predecessor of our Vimba X SDK:

  • Acquire images and explore camera features without programming.
  • Program your vision applications with C, C++, .NET or Python APIs.
  • Connect to third-party libraries and frameworks.
  • ... and more!
  • Download Vimba

 

Supported platforms and portability

Supported operating systems

Vimba runs on Windows, Linux, and Linux for ARM. You can port your source code from Windows to Linux or cross-compile from a Linux PC to an embedded system.

Vimba 6.0 was tested with:

  • Vimba for Windows 64-bit:

    • Windows 10 (GigE, USB, 1394, and Camera Link cameras)

    • Windows 11 (GigE, USB, and 1394 cameras)

  • Vimba for Windows 32-bit:

    • Windows 10 (GigE, USB, 1394, and Camera Link cameras)

  • Vimba for Linux: Ubuntu 20.04 LTS (64-bit), Debian 11.2 (64-bit)
  • Vimba for ARM64: NVIDIA Xavier NX with
    • JetPack 4.6 (L4T 32.6.1) - GigE and USB cameras
    • JetPack 4.5.1 (L4T 32.5.1) - CSI-2 cameras (selected models)

In most cases, Vimba is also compatible to higher versions or other Linux distributions (except for CSI-2).

Vimba 6.1 (ARM64 only) was tested with:

  • Alvium MIPI CSI-2 cameras,  JetPack 4.6.1 (L4T 32.7.1):
    • Nano 2GB and 4GB NVIDIA Developer Kit
    • TX2
    • TX2 NX NVIDIA Developer Kit
    • AGX Xavier NVIDIA Developer Kit
    • Xavier NX NVIDIA Developer Kit
Supported camera interfaces

Support of various camera interfaces

Vimba's transport layers support Allied Vision cameras with the following interfaces:

  • 5 GigE Vision (Windows, Linux, Linux for ARM)
  • GigE Vision (Windows, Linux, Linux for ARM)
  • USB3 Vision (Windows, Linux, Linux for ARM)
  • CSI-2 (ARM, selected boards)
  • IEEE 1394 (Windows only)
  • Camera Link (Windows only, configuration only)

In contast to proprietary solutions,  GenICam is THE standard for plug & play handling of cameras and devices. GenICam APIs are independent of the operating system, camera interface, and camera sensor, so that you can always reuse your source code. As a member of the EMVA (European Machine Vision Association), Allied Vision actively contributes to the further development of GenICam.

C, C++, .NET, and Python APIs

From quick prototyping to sophisticated development

Vimba provides APIs for C, C++, .NET, and Python. For each API, programming examples and an extensive user documentation are available. To get started, we recommend reading the Vimba Quickstart Guide, which is part of the Vimba installation.

 Vimba provides four APIs:

The Python API is perfect for a quick and easy start or for prototyping.
The C API is Vimba's basic and easy-to-use API. It can also be used as API for C++ applications.
The C++ API has an elaborate class architecture. It is designed as a highly efficient and sophisticated API for advanced object-oriented programming including the STL (standard template library), shared pointers, and interface classes. If you prefer an API with less design patterns, we recommend the Vimba C API.
The .NET API supports all .NET languages, for example, C#, C++/CLI, or Visual Basic .NET. Its general concept is similar to the C++ API.

All APIs cover the following functions:

  • Listing currently connected cameras
  • Controlling camera features
  • Receiving images from the camera
  • Notifications about camera connections or disconnections


The Image Transform Library converts camera images into other pixel formats and creates color images from raw images (debayering). While this is separated for the C and C++ API, the .NET API includes these functions. Therefore, a .NET application does not have to access the Image Transform Library.


The APIs use GenICam transport layer (GenTL) libraries to communicate with the cameras.
These libraries cannot be accessed directly through Vimba.

Vimba's architecture for Windows:

Vimba's architecture for Linux:

GenICam third-party software, Cognex VisionPro, OpenCV, GStreamer

Connect to third-party libraries

As of Vimba 5.0, we offer the gst-vimbasrc GStreamer source element - a plugin to access Vimba from GStreamer pipelines.
gst-vimbasrc uses recorded Vimba frames and pushes them out via src pad. We provide gst-vimbasrc on GitHub:

Visit GitHub.com/Alliedvision

Do you want to use your Allied Vision camera with a GenICam-compliant third-party software? Vimba's transport layers automatically connect  to third-party software, for example, MATLAB, OpenCV, Halcon, CVB, and many more. Moreover, the SDK contains the Vimba Cognex Adapter for VisionPro including a user manual.

Application notes:

If you want to use OpenCV, take a look at the AsynchronousGrab example, which is included in the Vimba installation.

More information about third-party libraries

Drivers, Viewer, Image Transform library

Vimba components

Vimba comes with drivers for Windows and the Vimba Driver Installer application.

With the Vimba Viewer application, you can instantly view images and explore camera features without programming. Additionally, you can save your camera settings and quickly use them with any Vimba API.

With Vimba's Image Transform library, you can output several pixel formats.

Vimba includes programming examples and an extensive user documentation.

Download Vimba for Windows, Linux, and Linux ARM

Download Vimba

Alvium cameras:

For Alvium cameras, we recommend our new Vimba X SDK. Vimba doesn't support the latest Alvium features.

Vimba X vs. Vimba comparison table

See also the Vimba X vs. Vimba comparison table.

Vimba 6.0:

Vimba_v6.0_Windows Release Notes

Vimba_v6.0_Linux Release Notes

Vimba_v6.0_ARM64 Release Notes

Vimba 6.1 (ARM64):

Vimba_v6.1_ARM64 Documentation