Skip to content

liuzhiping/extensions

 
 

Repository files navigation

<td>
<ul>
 <li>Version: 1.0.1 (release candidate)</li>
 <li>NuGet packages: <a href="https://www.nuget.org/profiles/dajuric"><strong>ready</strong> <i>(pre-release)</i></a></li>
 <li>
   Help: <a href="https://github.com/dajuric/accord-net-extensions/raw/master/Deployment/Documentation/Help/Accord.NET%20Extensions%20Documentation.chm"> Offline </a> - <i>unblock after download!</i></li>
 <li>
    Tutorials: 
    <ul>
      <li><a href="http://www.codeproject.com/Articles/826377/Rapid-Object-Detection-in-Csharp" target="_blank">Fast template matching</a></li>
      
       <li><a href="http://www.codeproject.com/Articles/840823/Object-Feature-Tracking-in-Csharp" target="_blank">Object Feature Tracking - KLT Optical Flow</a></li>
      
       <li><a href="http://www.codeproject.com/Articles/828012/Introducing-Portable-Video-IO-Library-for-Csharp" target="_blank">Portable Video IO</a></li>
       
        <li><a href="http://www.codeproject.com/Articles/829349/Introducing-Portable-Generic-Image-Library-for-Csh" target="_blank">Portable Generic Image</a></li>
    </ul>
 </li>
</ul>
</td>

Accord.NET Extensions is an extension framework for Accord.NET and AForge.NET . The framework is built with extensibility and portability in mind. Most provided algorithms for image processing, computer vision and statistical analysis are made as extensions. New generic image class is not tied to any specific library and video IO library, which offers unified interface for camera capture, file and directory reading, is platform abstract.

The framework is divided in libraries available through NuGet packages. The libraries can be grouped as following:

Support libraries

  • Accord.Extensions.Core

    The core of the Accord.NET Extensions Framework. Contains classes needed for other libraries: collections, structures, structures for parallel processing and extensions shared across libraries.

    samples: collections: sparse matrix, circular list, history, pinned array; element caching (lazy memory cache, LRU cache); method caching; parallel array operations; various extensions

  • Accord.Extensions.Imaging.GenericImage

    Implements slim generic image class and basic extensions (arithmetics). Provides multiple color spaces and conversions between them. The class can be used in non-generic way for developers who prefer AForge's UnmanagedImage style. To get compatibility for other image types install appropriate extension - NuGet package (e.g. Imaging.BitmapInterop).

    AForge, OpenCV, Bitmap, array interoperability demos; performance, automatic color conversion, various extensions

  • Accord.Extensions.Imaging.AForgeInterop

    Provides extensions for easy interoperability between generic image and AForge UnmanagedImage.

    samples: (see Accord.Extensions.Imaging.GenericImage)

  • Accord.Extensions.Imaging.BitmapInterop

    Provides extensions for interoperability with System.Drawing.Bitmap, Point, PointF, Color and drawing extensions.

    samples: (see Accord.Extensions.Imaging.GenericImage)

  • Accord.Extensions.Vision.IO

    Provides unified API for IO video access: web-camera support, various video-format reading / writing, image-directory reader. All operations are stream-like and are abstracted therefore do not depend on actual video source. The library is made in platform-abstract fashion.

    samples: basic capture; capture and recording; video extraction

Image processing

  • Accord.Extensions.Imaging.Algorithms

    Implements image-processing and computer-vision algorithms. Provides extensions for image-processing algorithms implemented in Accord.NET framework and for some image-processing algorithms implemented in AForge.NET framework.

    samples: (see Accord.Extensions.Imaging.GenericImage)

  • Accord.Extensions.Imaging.Algorithms.LINE2D

    Implements template matching algorithm (~20x faster than conventional sliding window approach).

    samples: fast template matching demo

  • Accord.Extensions.Vision

    Provides computer vision algorithms: Pyramidal KLT tracker, Camshift, Meanshift.

    samples: Camshift; pyramidal Lucas-Kanade tracker

Math libraries

  • Accord.Extensions.Math

    Provides extensions for the 2D array, graphs, contour, point transformations. Implements parallel FFT transform. Implements group matching.

    samples: cardinal spline; contour extrema; graph path search; group matching

  • Accord.Extensions.Statistics

    Provides classes and extensions for the following filters: Kalman, Particle filter, JPDAF - Joint Probability Data Association Filter. Includes 2D motion models.

    samples: Kalman: simulation and object tracking (Kalman + Camshift) demo; Particle filtering: color object tracking; template model selection

About

Official extensions library for Accord.NET created and maintained by Darko Juric

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 98.5%
  • Other 1.5%