AForge.NET Framework is a C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, computer vision, neural networks, genetic algorithms, machine learning, etc.

Namespaces

NamespaceDescription
AForge
The AForge namespace is a core namespace of AForge.NET framework, which contains core classes used by other namespaces of the framework and classes, which can be used independently for various purposes.
AForge.Controls
The AForge.Controls namespace contains different useful UI controls, which may be used together with other classes of AForge.NET framework.
AForge.Fuzzy
The AForge.Fuzzy namespace contains set of interfaces and classes to operate with fuzzy sets.
AForge.Genetic
The AForge.Genetic namespace contains interfaces and classes for genetic computations. The namespace and its sub namespaces contain classes, which allows to solve many different problems (optimization, approximation, prediction, etc) with the help of Genetic Algorithms (GA), Genetic Programming (GP), Gene Expression Programming (GEP).
AForge.Imaging
The AForge.Imaging namespace contains interfaces and classes for different image processing routines.
AForge.Imaging.ColorReduction
The AForge.Imaging.ColorReduction namespace contains set of classes aimed to perform color reduction in color images, which include color quantization classes, color re-coding functionality and color dithering algorithms.
AForge.Imaging.ComplexFilters
The AForge.Imaging namespace contains interfaces and classes for different image processing routines, which are done on complex Fourier transformed images.
AForge.Imaging.Filters
The AForge.Imaging.Filters namespace contains collection of interfaces and classes, which provide different image processing filters. Classes of this namespace allow to do different transformation of a source image, doing it directly on the source image or providing new image as a result of image processing routine.
AForge.Imaging.Formats
The AForge.Imaging.Formats namespace contains interfaces and classes, which are used to handle different image file formats.
AForge.Imaging.Textures
The AForge.Imaging.Textures namespace contains collection of classes, which generate different type of textures used for creating different effects.
AForge.MachineLearning
The AForge.MachineLearning namespace contains interfaces and classes for different algorithms of machine learning.
AForge.Math
The AForge.Math namespace contains set of math utilities, which are used by other AForge.NET framework's namespaces or may be used individually.
AForge.Math.Geometry
The AForge.Math.Geometry namespace contains set of geometry utilities, which are used by other AForge.NET namespaces or may be used individually.
AForge.Math.Metrics
The AForge.Math.Metrics namespace contains set of classes, which implement different difference and similarity metrics.
AForge.Math.Random
The AForge.Math.Random namespace contains interfaces and classes for random numbers generation.
AForge.Neuro
The AForge.Neuro namespace contains interfaces and classes for neural networks computations. The namespace and its sub namespaces contain classes, which allow as creating of popular neural network architectures, as classes to train these networks.
AForge.Neuro.Learning
TheAForge.Neuro.Learning namespace contains interfaces and classes for neurons and neural networks learning. The namespace contains classes as for supervised learning, as for unsupervised learning.
AForge.Robotics.Lego
The AForge.Robotics.Lego namespace contains set of classes, which allow to manipulate different Lego Mindstorm robotics devices. The list of supported devices includes Lego Minstorm RCX and Lego Mindstorm NXT.
AForge.Robotics.Surveyor
The AForge.Robotics.Surveyor namespace contains set of classes, which are aimed to control robotics kits provided by Surveyor company, such as SRV-1 camera/robot and SVS (Stereo Vision System) board.
AForge.Robotics.TeRK
The AForge.Robotics.TeRK namespace contains set of classes, which are aimed to control TeRK (Telepresence Robot Kit) based robots, such as Qwerk.
AForge.Video
The AForge.Video namespace contains interfaces and classes to access different video sources.
AForge.Video.DirectShow
The AForge.Video.DirectShow namespace contains classes, which allow to access video sources using DirectShow interface.
AForge.Video.FFMPEG
The AForge.Video.FFMPEG namespace contains classes, which allow reading and writing video files through FFmpeg library. This is an experimental namespace which is aimed to provider better API for writing/reading video file and replace AForge.Video.VFW at some point in time. Note: the API allows writing and reading video data only. Reading and writing of sound data is not supported and is not planned for now.
AForge.Video.Kinect
The AForge.Video.Kinect namespace contains classes, which allow to access to video and depth data of Microsoft’s Xbox Kinect device.
AForge.Video.VFW
The AForge.Video.VFW namespace contains classes, which allow reading and writing of AVI files using Video for Windows interface.
AForge.Video.Ximea
The AForge.Video.Ximea namespace contains classes, which allow capturing images from XIMEA cameras.
AForge.Vision.Motion
The AForge.Vision.Motion namespace contains interfaces and classes used for motion detection and processing in video streams.