Median Method
Summary
Changes the color of each pixel in an image to the median color of pixels in its neighborhood. This is similar to the Average operation, but it is used for noise reduction, rather than a blur effect.
Example
using Leadtools.Services;
public void MedianExample()
{
FiltersProcessingServiceClient client = new FiltersProcessingServiceClient();
RawBinaryData sourceBinaryData = new RawBinaryData();
sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "image1.cmp"));
RasterConvertOptions convertOptions = new RasterConvertOptions();
convertOptions.Source = sourceBinaryData;
convertOptions.Destination = null;
convertOptions.Format = RasterImageFormat.Bmp;
convertOptions.FirstPage = 1;
convertOptions.LastPage = 1;
convertOptions.BitsPerPixel = 24;
convertOptions.QualityFactor = 2;
MedianRequest request = new MedianRequest();
request.ConvertOptions = convertOptions;
request.Dimension = 9;
request.RegionData = null;
CommandResponse response = client.Median(request);
if (response.Destination != null)
{
if (response.Destination is RawBinaryData)
File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "Median.bmp"), (response.Destination as RawBinaryData).Data);
}
client.Close();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools.Services
Imports Leadtools.Services.datacontracts._2009._01
Imports Leadtools.Services.raster.datacontracts._2009._01
Imports Leadtools.Services.ImageProcessing.datacontracts._2009._01
Public Sub MedianExample()
Dim client As FiltersProcessingServiceClient = New FiltersProcessingServiceClient()
Dim sourceBinaryData As RawBinaryData = New RawBinaryData()
sourceBinaryData.Data = File.ReadAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "image1.cmp"))
Dim convertOptions As RasterConvertOptions = New RasterConvertOptions()
convertOptions.Source = sourceBinaryData
convertOptions.Destination = Nothing
convertOptions.Format = RasterImageFormat.Bmp
convertOptions.FirstPage = 1
convertOptions.LastPage = 1
convertOptions.BitsPerPixel = 24
convertOptions.QualityFactor = 2
Dim request As MedianRequest = New MedianRequest()
request.ConvertOptions = convertOptions
request.Dimension = 9
request.RegionData = Nothing
Dim response As CommandResponse = client.Median(request)
If Not response.Destination Is Nothing Then
If TypeOf response.Destination Is RawBinaryData Then
File.WriteAllBytes(Path.Combine(LEAD_VARS.ImagesDir, "Median.bmp"), (TryCast(response.Destination, RawBinaryData)).Data)
End If
End If
client.Close()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class