VintaSoft Imaging .NET SDK v8.7
Vintasoft.Imaging.ImageProcessing.Filters Namespace / MedianCommand Class
Members Example



In This Topic
    MedianCommand Class
    In This Topic
    Applies the arithmetic median filter to an image. The median filter is defined as the median of all pixels within a local region of an image.
    Object Model
    MedianCommand ClassRegionOfInterest ClassProcessingCommandResults ClassProcessingCommandResult Class
    Syntax
    Remarks
    The median filter is normally used to reduce salt and pepper noise in an image, somewhat like the MeanCommand. However, it often does a better job than the MeanCommand of preserving useful detail in the image.
    Example
    This example shows how to load an image from disk, apply the arithmetic median filter to the image and save the result to a new image file.
    Class MedianCommandExample
    	Public Sub ProcessImage()
    		' [ do not forget to set your image file path here! ]
    		' open an existing image
    		Dim image As New Vintasoft.Imaging.VintasoftImage("Flower.jpg")
                
    		' create the command
    		Dim command As New Vintasoft.Imaging.ImageProcessing.Filters.MedianCommand()
    		' subscribe to progress event
    		AddHandler command.Progress, New System.EventHandler(Of Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)(AddressOf command_Progress)
                
    		Try
    			' execute the command
    			command.ExecuteInPlace(image)
    		Catch ex As Vintasoft.Imaging.ImageProcessing.ImageProcessingException
    			' show error message if problem occured
    			System.Windows.Forms.MessageBox.Show(ex.Message)
    			Return
    		End Try
                
    		' save the processed image to the new file
    		image.Save("processed-image.tif")
    	End Sub
                
    	Private Sub command_Progress(sender As Object, e As Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs)
    		' update progress info using e.Progress property
    		' ...
                
    		' cancel execution of command using e.Cancel property if necessary
    		' ...
    	End Sub
    End Class
    class MedianCommandExample
    {
        public void ProcessImage()
        {
            // [ do not forget to set your image file path here! ]
            // open an existing image
            Vintasoft.Imaging.VintasoftImage image = new Vintasoft.Imaging.VintasoftImage("Flower.jpg");
                
            // create the command
            Vintasoft.Imaging.ImageProcessing.Filters.MedianCommand command =
                new Vintasoft.Imaging.ImageProcessing.Filters.MedianCommand();
            // subscribe to progress event
            command.Progress +=
                new System.EventHandler<Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs>(command_Progress);
                
            try
            {
                // execute the command
                command.ExecuteInPlace(image);
            }
            catch (Vintasoft.Imaging.ImageProcessing.ImageProcessingException ex)
            {
                // show error message if problem occured
                System.Windows.Forms.MessageBox.Show(ex.Message);
                return;
            }
                
            // save the processed image to the new file
            image.Save("processed-image.tif");
        }
                
        void command_Progress(object sender, Vintasoft.Imaging.ImageProcessing.ImageProcessingProgressEventArgs e)
        {
            // update progress info using e.Progress property
            // ...
                
            // cancel execution of command using e.Cancel property if necessary
            // ...
        }
    }
    Inheritance Hierarchy

    System.Object
       Vintasoft.Imaging.ImageProcessing.ProcessingCommandBase
          Vintasoft.Imaging.ImageProcessing.ProcessingCommandWithRegion
             Vintasoft.Imaging.ImageProcessing.Filters.MedianCommand

    Requirements

    Target Platforms: Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows Server 2012, Windows Server 2008, Windows Server 2003

    See Also