AForge.NET Framework
2.2.5 version is available!

Corner Detectors

AForge.NET framework provides set of routines aimed for corners detecion – searching
object’s corners an a specified image.

Below is the list of some corner detection tools and the result of
their application to the below source image.

Source image

Source image

Moravec Corners Detector

The routine implements Moravec corners detector.

// create corner detector's instance
MoravecCornersDetector mcd = new MoravecCornersDetector( );
// process image searching for corners
List<IntPoint> corners = mcd.ProcessImage( image );
// process points
foreach ( IntPoint corner in corners )
{
    // ... 
}

Moravec corners detector

Susan Corners Detector

The routine implements Susan corners detector.

// create corners detector's instance
SusanCornersDetector scd = new SusanCornersDetector( );
// process image searching for corners
List<IntPoint> corners = scd.ProcessImage( image );
// process points
foreach ( IntPoint corner in corners )
{
    // ... 
}

Susan corners detector

Corners Marker

The corners marker filter may be a good addition to corner detection routines, which is used to highlight objects’ corners
found by specified detector.

// create corner detector's instance
SusanCornersDetector scd = new SusanCornersDetector( );
// create corner maker filter
CornersMarker filter = new CornersMarker( scd, Color.Red );
// apply the filter
filter.ApplyInPlace( image );