Monday, 20 November 2017

Implementing Open and Closed Morphology

public static Bitmap OpenMorphologyFilter(
                            this Bitmap sourceBitmap,
                            int matrixSize,
                            bool applyBlue = true,
                            bool applyGreen = true,
                            bool applyRed = true )
{
    Bitmap resultBitmap =
           sourceBitmap.DilateAndErodeFilter(
                        matrixSize, MorphologyType.Erosion,
                        applyBlue, applyGreen, applyRed);

 
    resultBitmap =
          resultBitmap.DilateAndErodeFilter(
                       matrixSize, 
                       MorphologyType.Dilation, 
                       applyBlue, applyGreen, applyRed);

 
    return resultBitmap;
}

 
public static Bitmap CloseMorphologyFilter(
                            this Bitmap sourceBitmap,
                            int matrixSize,
                            bool applyBlue = true,
                            bool applyGreen = true,
                            bool applyRed = true )
{
    Bitmap resultBitmap =
           sourceBitmap.DilateAndErodeFilter(
                        matrixSize, MorphologyType.Dilation,
                        applyBlue, applyGreen, applyRed);

 
    resultBitmap =
          resultBitmap.DilateAndErodeFilter(
                       matrixSize, 
                       MorphologyType.Erosion,
                       applyBlue, applyGreen, applyRed);

 
    return resultBitmap;

No comments:

Post a Comment