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 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
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.
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:
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:
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.
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
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