The page provides the list of features available in the AForge.NET framework 2.1.2 version,
which is currently available.
AForge.NET framework consists of several libraries, so below the framework's features are
presented grouped by them:
AForge.Imaging, which is the biggest library of the framework so far, contains different
image processing routines, which are aimed to help as in image enhancement/processing, as in some
computer vision tasks:
 Linear color correction filters (RGB/HSL/YCbCr correction, brightness/contrast/saturation
correction);
 Nonlinear color correction filters (contrast stretch, histogram equalization,
color remapping, gamma correction);
 Image recoloring filters (grayscale, sepia, hue modifier,
rotate channels, invert);
 Pixel filtering by color (RGB, HSL, YCbCr color spaces);
 Color channels manipulations (RGB and YCbCr color spaces);
 Color reduction (including color dithering);
 Binarization filters (threshold, threshold with carry, ordered
dithering, Bayer dithering, FloydSteinberg dithering, Burkes dithering, JarvisJudiceNinke dithering,
Sierra dithering, Stucki dithering);
 Adaptive binarization (simple image statistics, iterative
thresholding, Otsu thresholding);
 Adaptive local thresholding;
 Convolution filters (mean, blur, sharpen, edges, Gaussian blur, custom convolution filters);
 Mathematical morphology filters (erosion, dilatation, opening, closing,
top hat, bottom hat, hitandmiss);
 Edge detectors (homogeneity, difference, sobel, canny);
 2 source filters (merge, intersect, add, subtract,
difference, move towards, morph,
thresholded difference,
thresholded euclidean difference);
 Blobs processing (counting, extraction, filtering, connected component labeling);
 Filling holes in binary images;
 Corner detectors (Moravec, Susan);
 Quadrilateral transformation and corners' finding;
 Resize and rotation (nearest neighbor, bilinear, bicubic);
 Transformation to/from polar coordinates;
 Hough transformation (line and circle transformations);
 Exhaustive template and block matchin;
 Image color statistics (RGB, HSL, YCbCr) and vertical/horizontal statistics (RGB);
 Smoothing filters (Median, Mean, Conservative Smoothing, Adaptive Smoothing, Bilateral);
 Texture generators (clouds, marble, wood, labyrinth, textile);
 Texture filters (texturing, merging, filtering);
 More effects, like pixelating, jittering, oil painting, water wave, image warping, etc;
 Noise generators (additive, saltandpapper);
 Document skew checker for checking rotation of scanned documents;
 Stereo anaglyph image creating;
 Flood fill filters (using specified color or calculate mean color of the area);
 Flat Field Illumination correction, Simple skeletonization, Shrink, Canvas crop/fill/move, mirroring, Bayer filter, mask/masked filter;
 Fourier transformation (lowpass and hipass filters);
 Some image decoders for custom image formats
(PNM,
FITS);
 etc.
AForge.Vision library consists of different motion detection and motion processing routines.
AForge.Math library contains different math related algorithms, which are used as internally by the framework,
as can be used as they are by users. Some of the most interesting algorithm are:
AForge.Video library contains different classes, which provide access to video data. Nice to have
it taking into account the amount of image processing stuff in the framework.
AForge.Robotics library contains some classes to manipulate some robotics kits:
AForge.Neuro library consists of some common neural network architectures' implementations
and their learning algorithms:
 Multilayer feed forward networks utilizing activation function;
 Distance networks (Kohonen SOM, for example);
 Simple perceptron's learning, Delta rule learning, Back Propagation learning, Kohonen SOM learning, Evolutionary learning based on Genetic Algorithm;
 Activation functions (threshold, sigmoid, bipolar sigmoid).
AForge.Genetic library
consists of classes aimed to solve different tasks from Genetic Algorithms (GA),
Genetic Programming (GP) and Gene Expression Programming (GEP) areas:
 GA chromosomes (binary, short array, double array), GP tree based chromosome and GEP chromosome;
 Selection algorithms (elite, roulette wheel, rank);
 Common fitness functions (1/2D function optimization, symbolic regression, time series prediction).
 Population class to handle chromosomes.
AForge.Fuzzy library consists of classes to perform
different fuzzy computations, starting from using basic fuzzy sets and linguistic variables and
continuing with complete inference system, which is capable of running set
of fuzzy rules evaluating requested fuzzy variable.
AForge.MachineLearning library contains some classes from machine learning area:
 QLearning and Sarsa learning algorithms;
 Epsilon greedy, Boltzmann, Roulette wheel and Tabu Search exploration policies.
The AForge.NET framework contains also some more libraries/namespaces providing
additional functionality, which is used by the framework, its samples or may be used directly in
applications. Check AForge.NET framework's documentation
to find all the information about all the classes available in the framework.
