Ejemplo n.º 1
0
        /// <summary>
        /// Apply filter.
        /// </summary>
        /// <param name="bmData">Bitmap data</param>
        /// <param name="bmSrc">Bitmap data</param>
        public void Apply(BitmapData bmData, BitmapData bmSrc)
        {
            // Creating resources:
            Bitmap     Src0   = (Bitmap)BitmapFormat.Bitmap(bmSrc).Clone();
            BitmapData bmSrc0 = BitmapFormat.Lock32bpp(Src0);

            // Filter applying:
            erosion.Apply(bmSrc, bmSrc0);
            subtraction.Apply(bmData, bmSrc);

            // Delete resources:
            BitmapFormat.Unlock(Src0, bmSrc0);
            Src0.Dispose();
            return;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Apply filter.
        /// </summary>
        /// <param name="bmData">Bitmap data</param>
        public void Apply(BitmapData bmData)
        {
            Bitmap Max = (Bitmap)BitmapFormat.Bitmap(bmData).Clone();
            Bitmap Min = (Bitmap)Max.Clone();

            di.Apply(Max); er.Apply(Min);

            BitmapData bmMax = BitmapFormat.Lock32bpp(Max);
            BitmapData bmMin = BitmapFormat.Lock32bpp(Min);

            if (smoothing)
            {
                gb.Apply(bmMax);
            }
            gb.Apply(bmMin);

            Apply(bmData, bmMax, bmMin);

            BitmapFormat.Unlock(Max, bmMax);
            BitmapFormat.Unlock(Min, bmMin);

            Max.Dispose(); Min.Dispose();
            return;
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Apply filter.
 /// </summary>
 /// <param name="bmData">Bitmap data</param>
 /// <param name="bmSrc">Bitmap data</param>
 public void Apply(BitmapData bmData, BitmapData bmSrc)
 {
     dilatation.Apply(bmSrc, bmData);
     erosion.Apply(bmData, bmSrc);
 }