Vimba is a comprehensive software suite:
- 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
Vimba 5.0 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 5.0 was tested with:
- Windows 10 (64-bit and 32-bit) Windows 7 (64-bit)
- Ubuntu 20.04 LTS, Debian 10, CentOS 8.3 (all tested distributions: 64-bit)
- NVIDIA Xavier NX with JetPack 4.5.1 (L4T 32.5.1), Raspberry Pi 4 with Raspberry 10 buster 5.10.17
In most cases, Vimba is also compatible to higher versions or other Linux distributions.
Vimba's transport layers support Allied Vision cameras with the following interfaces:
- NEW: 5 GigE Vision (Windows, Linux, Linux for ARM)
- GigE Vision (Windows, Linux, Linux for ARM)
- USB3 Vision (Windows, Linux, Linux for ARM)
- 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.
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:
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.
If you want to use OpenCV, take a look at the AsynchronousGrab example, which is included in the Vimba installation.
Vimba is a comprehensive software suite including drivers for best performance on 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.