About Site Map Submit Contact Us Log in | Create an account
Create an account Log In
Average Rating
User Rating:
Visitors Rating:
My rating:

Write review
  • Last update: 5 years ago
  • Total downloads: 1,467
  • Operating system: WinXP, Win2003, Win2000, Win Vista, Windows 7
  • Publisher: Andrew Kirillov
See full specifications

windows default iconAForge.NET Framework Publisher's description

AForge.NET is an open source C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, neural networks, genetic algorithms, fuzzy logic, machine learning, robotics, etc.

AForge.NET is an open source C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, neural networks, genetic algorithms, fuzzy logic, machine learning, robotics, etc.

The framework is comprised by the set of libraries and sample applications, which demonstrate their features:

* AForge.Imaging - library with image processing routines and filters;
* AForge.Vision - computer vision library;
* AForge.Video - set of libraries for video processing;
* AForge.Neuro - neural networks computation library;
* AForge.Genetic - evolution programming library;
* AForge.Fuzzy - fuzzy computations library;
* AForge.Robotics - library providing support of some robotics kits;
* AForge.MachineLearning - machine learning library;
* etc.

The work on the framework's improvement is in constants progress, what means that new feature and namespaces are coming constantly. To get knowledge about its progress you may track source repository's log or visit project discussion group to get the latest information about it.

The framework is provided not only with different libraries and their sources, but with many sample applications, which demonstrate the use of this framework, and with documentation help files, which are provided in HTML Help format. The documentation is also available on-line.

In the case you have found an issue in any component of the framework or you would like to request for a new feature, you may feel free to submit an issue/request in the issues tracking system.

In case you are interested in the project and would like to learn more about it or in case you would like to contribute it, you are more than welcome to participate in the project's discussion group.

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 re-coloring 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);
* Binarization filters (threshold, threshold with carry, ordered dithering, Bayer dithering, Floyd-Steinberg dithering, Burkes dithering, Jarvis-Judice-Ninke dithering, Sierra dithering, Stucki dithering);
* Adaptive binarization (simple image statistics, iterative thresholding, Otsu thresholding);
* Convolution filters (mean, blur, sharpen, edges, Gaussian blur, custom convolution filters);
* Mathematical morphology filters (erosion, dilatation, opening, closing, top hat, bottom hat, hit-and-miss);
* Edge detectors (homogeneity, difference, sobel, canny);
* 2 source filters (merge, intersect, add, subtract, difference, move towards, morph);
* Blobs processing (counting, extraction, filtering, connected component labeling);
* Corner detectors (Moravec, Susan);
* Quadrilateral transformation and corners' finding;
* Resize and rotation (nearest neighbor, bilinear, bicubic);
* 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);
* 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, salt-and-papper);
* 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;
* Fourier transformation (low-pass and hi-pass filters);
* Some image decoders for custom image formats (PNM, FITS);
* etc.

AForge.Vision library consists of different motion detection and motion processing routines.

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.

* Access to JPEG and MJPEG streams, which enables access to IP cameras;
* Access to USB web cameras, capture devices and video files through DirectShow interface;
* Reading/writing AVI files using Audio for Windows interface.

AForge.Robotics library contains some classes to manipulate some robotics kits:

* Lego Mindstorm RCX Robotics kit;
* Lego Mindstorm NXT Robotics kit;.
* Qwerk robotics board;
* Surveyor SRV-1 Blackfin robot;
* Surveyor Stereo Vision System robotics board.

AForge.Neuro library consists of some common neural network architectures' implementations and their learning algorithms:

* Multi-layer 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.

What's New in This Release:

Version updates and fixes:

* Fixed registered issues/requests:
o Issue 132: Adjustable Threshold for blob counter;
o Issue 135: Convert from Format16bppGrayScale to Format8bppIndexed is missing;
o Issue 136: Enhancement to disable reference clock on DirectShow graphs;
o Issue 137: Improvement request for svs;
o Issue 138: Enable amendment of Population size on the fly.
* AForge.Math
o Adding interface for shape optimizers its 3 implementations:
+ FlatAnglesOptimizer - shape optimizer, which removes obtuse angles (close to flat) from a shape;
+ LineStraighteningOptimizer - shape optimizer, which removes points within close range to shapes' body;
+ ClosePointsMergingOptimizer - shape optimizer, which merges points within close distance to each other.
o Added SimpleShapeChecker class for checking simple geometrical shapes.
o Bug fix in GrahamConvexHull - don't process points with same coordinates as the first point.
o Few updates to PointsCloud.FindQuadrilateralCorners():
+ Bug fix - wrong points were used to compare distances between points;
+ Using relative distortion limit instead of hard-coded constants for checking if certain points are far away enough;
+ Searching first point as the furthest from shape's centre, instead of from (0, 0) point of coordinates system.
* AForge.Imaging
o Fixing SusanCornersDetector - don't dispose internal grey image in the case if greyscale image was given as input.
o Increasing size limits for convolution's kernel size and structuring element of morphological operators. The limit is set to 99. The benefit of such big kernels is not clear, but if users want it and ready to wait until such lengthy image processing is done, then why not to give it to them.
o Added background threshold property to blob counters, so thresholding step could be skipped in many cases.
o Adding LevelsLinear16bpp image processing filter, which is similar to LevelsLinear, but designed for images with 16 bpp planes - 16 bpp grayscale or 48/64 bpp images.
o Added two methods into AForge.Imaging.Image class: Convert16bppTo8bpp() and Convert8bppTo16bpp() which perform conversion of images with 16 bpp color planes to images with 8 bpp color planes and vice versa.
o Few minor improvements to CannyEdgeDetector: changed from double to int type for those variables, which are really integer; removed incrementing index variable, which is not used inside of a loop; clarified documentation about hysteresis.
* AForge.Video
o Putting check of IsRunning property into Start() method of all video sources, so it checks if video source is really running or not. Checking thread variable for null was not a good check if user calls SignalToStop() without further WaitForStop().
* AForge.Video.DirectShow
o Merging the code contributed by Jeremy Noring, which allows to disable reference clock of a DirectShow graph allowing to process video files as fast as possible.
* AForge.Genetic
o Fixing Population.FindBestChromosome() method to make sure that a chromosome will be selected even if all chromosome have fitness value equal to 0.
o Added Population.Resize() method which allows to resize genetic population during its lifetime.
* AForge.Robotics.Surveyor
o Added SVS.ServosBank.Bank0, so users could control servos connected to TMR2-1 and TMR3-1 of SVS board (in the case of some custom set-up).
* Samples
o Added Shape Checker sample application to demonstrate usage of SimpleShapeChecker class.

System Requirements:

No special requirements.
Program Release Status: Major Update
Program Install Support: Install and Uninstall

AForge.NET Framework Tags:

Click on a tag to find related softwares

Is AForge.NET Framework your software?

Manage your software

Most Popular

windows default icon WinAVR 20100110
WinAVR is a suite of executable, open source software development tools for the Atmel AVR series of RISC... Read more
windows default icon SQL-Front
SQL-Front MySQL GUI for database changes, data editing, SQL queries and more
windows default icon xVideo 1.2.1
xVideo is a Directshow wrapper that will help it’s users create multimedia applicationsIt’s
windows default icon Red Gate's .NET Reflector
Explore, browse, and analyze .NET assemblies

Related Category

» Active X (462)
» C & C++ & C# (244)
» Debugging (132)
» Delphi (191)
» Help Tools (211)
» Install & Setup (161)
» Other (1286)
» Source Editors (201)