You are here: Start » Overview

Overview

Introduction

Adaptive Vision Library Lite is a machine vision library for C++ programmers. It provides a comprehensive set of functions for creating industrial image analysis and image processing applications. 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.

Please note that Adaptive Vision Library Lite is a free edition of Adaptive Vision Library - much more powerful commercial product. Thanks to its performance and capabilities it is a good choice among other free computer vision libraries.

The library contains data types and functions for basic image processing and analysis. For more demanding computer vision projects we recommend the full edition of Adaptive Vision Library.

Relation between Adaptive Vision Library Lite and Adaptive Vision Studio

Each function of the Adaptive Vision Library Lite is the basis for the corresponding filter available in Adaptive Vision Studio. Therefore, it is possible (and advisable) to use the Adaptive Vision Studio as a convenient, drag & drop prototyping tool, even if one intends to develop the final solution in C++ using Adaptive Vision Library Lite.

In the table below we compare the ThresholdImage function with the ThresholdImage filter:

Adaptive Vision Library Lite: Adaptive Vision Studio:
void ThresholdImage
(
	const Image&			inImage,
	Optional<const Region&>	inRoi,
	Optional<real>			inMinValue,
	Optional<real>			inMaxValue,
	real					inFuzziness,
	Image&					outMonoImage
);
ThresholdImage

Key Features

Performance

In Adaptive Vision Library Lite 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.

Example Program

A simple program based on the Adaptive Vision Library Lite may look as follows:

#include <AVL_Lite.h>

using namespace atl;
using namespace avl;

int main()
{
	try
	{
		Image input, output;
		LoadImage("input.bmp", false, input);
		ThresholdImage(input, NIL, 128, NIL, 0, output);
		SaveImage(output, NIL, "output.bmp");
		return 0;
	}
	catch (const atl::Error&)
	{
		return -1;
	}
}

Please note that Adaptive Vision Library Lite is distributed with a set of example programs, which are available after installation.

Previous: Introduction Next: Programming Conventions