You are here: Start » Introduction » Overview
Overview
Introduction
Aurora Vision Library is a machine vision library for C++ and .NET programmers. It provides a comprehensive set of functions for creating industrial image analysis applications – from standard-based image acquisition interfaces, through low-level image processing routines, to ready-made tools such as template matching, measurements or barcode readers. The main strengths of the product include the highest performance, modern design and simple structure making it easy to integrate with the rest of your code.
The scope of the library encompasses:
|
|
Relation between Aurora Vision Library and Aurora Vision Studio
Each function of the Aurora Vision Library is the basis for the corresponding filter available in Aurora Vision Studio. Therefore, it is possible (and advisable) to use the Aurora Vision Studio as a convenient, drag & drop prototyping tool, even if one intends to develop the final solution in C++ using Aurora Vision Library. Moreover, for extended information about how to use advanced image analysis techniques, one can refer to Machine Vision Guide from the documentation of Aurora Vision Studio.
In the table below we compare the ThresholdImage function with the ThresholdImage filter:
Key Features
Performance
In Aurora Vision Library careful design of algorithms goes hand in hand with extensive hardware optimizations, resulting in performance that puts the library among the fastest in the world. Our implementations make use of SSE instructions and parallel computations on multicore processors.
Modern Design
All types of data feature automatic memory management, errors are handled explicitly with exceptions and optional types are used for type-safe special values. All functions are thread-safe and use data parallelism internally, when possible.
Consistency
The library is a simple collection of types and functions, provided as a single DLL file with appropriate headers. For maximum readability function follow consistent naming convention (e.g. the VERB + NOUN form as in: ErodeImage, RotateVector). All results are returned via reference output parameters, so that many outputs are always possible.
Example Program
A simple program based on the Aurora Vision Library may look as follows:
#include <AVL.h> using namespace atl; using namespace avl; int main() { try { InitLibrary(); Image input, output; LoadImage("input.bmp", false, input); ThresholdImage(input, NIL, 128, NIL, 0, output); SaveImage(output, NIL, "output.bmp", false); return 0; } catch (const atl::Error&) { return -1; } }
Please note that Aurora Vision Library is distributed with a set of example programs, which are available after installation.
Previous: Introduction | Next: Programming Conventions |