AForge.NET Framework

AForge.NET Framework is a C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence – image processing, neural networks, genetic algorithms, 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.Neuro – neural networks computation library;
  • AForge.Genetic – evolution programming library;
  • AForge.Fuzzy – fuzzy computations library;
  • AForge.MachineLearning – machine learning library;
  • AForge.Robotics – library providing support of some robotics kits;
  • AForge.Video – set of libraries for video processing
  • 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.

Problem Steps Recorder

Just discovered a really great tool that comes as part of Windows 7, the Problem Steps Recorder. It allows to record user interaction to a document allowing to reproduce and document a problem.
Therefor it takes a screenshot of every user action highlighting the focus areas of the ongoing interaction with a colored frame. Also it provides an automatically generated textual description of every step.  Everything is stored in an MHTML container a custom Microsoft archive format that contains HTML as well as the screenshots in one single file that can be viewed with Internet Explorer. Several solutions to convert this file exist if Internet Explorer is not your favorite tool.

To launch it just type “psr” at the prompt in the Windows start menu.


QR Code Embedded Images

QR Code with embeded image

QR Code with embeded image

QArt Coder is an online tool that allows to embed images into QR Codes.

QR codes are 2-dimensional bar codes that encode arbitrary text strings. A common use of QR codes is to encode URLs so that people can scan a QR code (for example, on an advertising poster, building roof, volleyball bikini, belt buckle, or airplane banner) to load a web site on a cell phone instead of having to “type” in a URL.

QR codes are encoded using Reed-Solomon error-correcting codes, so that a QR scanner does not have to see every pixel correctly in order to decode the content. The error correction makes it possible to introduce a few errors (fewer than the maximum that the algorithm can fix) in order to make an image. QArt Coder exploits that to embed an image into the QR code.

KinectFusion – Open Source

UDPATE: There is a more recent post on this topic here: Open Source Kinect Fusion – Update

Developers of the open source Point Cloud Library have implemented the Kinect Fusion Algorithm as published in the Paper by Microsoft.

The preliminary source code is currently available in their SVN repository’s. The code relies heavily on the NVidia CUDA development libraries for GPU optimizations and will require a compatible GPU for best results.

Besides the Kinect the library supports several other sensors. Moving forward, the developers want to continue to refine and improve the system, and are hoping to improve upon the original algorithm in order to model larger scale environments in the near future. The code is still beta, a stable release is planed to coincide with the upcoming PCL 2.0 release.

I’m definitely looking forward for to what the Kinect community is going to do with that.



Android Ported to C#

Android Ported to C# – Xamarin

Xamarin the company behind Mono the .NET runtime for Linux, iOS, MacOS and Android has just announced that they got the Java part of Android ported to C# via machine translation. They claim some serious performance gains over Dalvik. For them, this is an experiment that they are not planning to focus on, but they will be using some of the technologies in Mono for Android. As Part of the project they improved the automated Java to C# translator “Sharpen”. Their version of Sharpen besides the code of the Android port itself is available on Github.

Flying With Inversion

Another fascinating flying thingy by German Company Festo.  After a lot of interesting flying objects in the past that were inspired by nature or did even resemble some animals this one is based on a geometric principle.

The object called SmartInversion is a helium-filled flying object that moves through the air by turning inside-out. This constant, rhythmically pulsating movement is known as inversion and gives the flight model its name. With the intelligent combination of extreme lightweight construction, electric drive units and control and regulation technology, inversion kinematics can be indefinitely maintained to produce motion through the air.

The shape of this flying object is based on the geometrical band devised by Paul Schatz: its middle section, in the form of an articulated ring of six members, detaches itself from a cube and constantly turns inside-out, taking on different geome

With the geometrical band Schatz discovered that the principle of kinematics, which until then had been based on rotation and translation (linear motion), could be extended by a further mode: inversion. With SmartInversion, the engineers and designers are now investigating where and how geometrical inversion can be put to use in technology.