/// <summary> /// Boundary Extraction Filter /// </summary> /// <param name="sourceBitmap">Set source Bitmap</param> /// <param name="se">Set boolean</param> /// <param name="filterType">Set Filter type</param> /// <param name="applyBlue">Apply Blue</param> /// <param name="applyGreen">Apply Green</param> /// <param name="applyRed">Apply Red</param> /// <returns></returns> public static System.Drawing.Bitmap BoundaryExtractionFilter(this System.Drawing.Bitmap sourceBitmap, bool[,] se, BoundaryExtractionFilterType filterType, bool applyBlue = true, bool applyGreen = true, bool applyRed = true) { System.Drawing.Bitmap resultBitmap = null; if (filterType == BoundaryExtractionFilterType.BoundaryExtraction) { resultBitmap = sourceBitmap.BoundaryExtraction(se, applyBlue, applyGreen, applyRed); } else if (filterType == BoundaryExtractionFilterType.BoundarySharpen) { resultBitmap = sourceBitmap.BoundarySharpen(se, applyBlue, applyGreen, applyRed); } else if (filterType == BoundaryExtractionFilterType.BoundaryTrace) { resultBitmap = sourceBitmap.BoundaryTrace(se, applyBlue, applyGreen, applyRed); } return(resultBitmap); }
/// <summary> /// Boundary Trace /// </summary> /// <param name="sourceBitmap">Set source Bitmap</param> /// <param name="se">Set boolean</param> /// <param name="applyBlue">Apply Blue</param> /// <param name="applyGreen">Apply Green</param> /// <param name="applyRed">Apply Red</param> /// <returns></returns> public static System.Drawing.Bitmap BoundaryTrace(this System.Drawing.Bitmap sourceBitmap, bool[,] se, bool applyBlue = true, bool applyGreen = true, bool applyRed = true) { System.Drawing.Bitmap resultBitmap = sourceBitmap.BoundaryExtraction(se, applyBlue, applyGreen, applyRed); resultBitmap = sourceBitmap.SubtractImage(resultBitmap); return(resultBitmap); }
/// <summary> /// Boundary Sharpen /// </summary> /// <param name="sourceBitmap">Set source Bitmap</param> /// <param name="se">Set boolean</param> /// <param name="applyBlue">Apply Blue</param> /// <param name="applyGreen">Apply Green</param> /// <param name="applyRed">Apply Red</param> /// <returns></returns> public static System.Drawing.Bitmap BoundarySharpen(this System.Drawing.Bitmap sourceBitmap, bool[,] se, bool applyBlue = true, bool applyGreen = true, bool applyRed = true) { System.Drawing.Bitmap resultBitmap = sourceBitmap.BoundaryExtraction(se, applyBlue, applyGreen, applyRed); resultBitmap = sourceBitmap.MorphologyOperation(se, MorphologyOperationType.Dilation, applyBlue, applyGreen, applyRed).AddImage(resultBitmap); return(resultBitmap); }