Skip to content

Advanced image processing and computer vision algorithms made as fluent extensions and built for portability

Notifications You must be signed in to change notification settings

awais045/accord-net-extensions

 
 

Repository files navigation

<td>
<ul>
 <li>Version: 1.2.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/865935/Object-Tracking-Kalman-Filter-with-Ease" target="_blank">Kalman filter</a></li>
      
     <li><a href="http://www.codeproject.com/Articles/865934/Object-Tracking-Particle-filter-with-ease" target="_blank">Particle filter</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:

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

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

Getting started

The official way for package installation is the installation over NuGet. Just before you type "Accord.Extensions" or "Accord" (then you need to scroll a bit), please select "Include Pre-release" in the Visual Studio drop-down, due to pre-release version of the framework.

Final word

  • If you like the project please star it in order to help to spread the word. That way you will make the framework more significant and in the same time you will motivate me to improve it, so the benefit is mutual.
  • <li>
       If you have any questions, comments or you would like to propose an enhacement please leave the message on Github, or write to: darko.juric2 [at] gmail.com
    </li>
    

About

Advanced image processing and computer vision algorithms made as fluent extensions and built for portability

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.4%
  • Other 0.6%