LEADTOOLS Image Processing (Leadtools.ImageProcessing.Effects assembly)
LEAD Technologies, Inc

UserFilterCommand Class

Example 





Members 
Filters the image based on a user-defined filter / mask. This command is similar to the spatial and binary filter commands. .NET support WinRT support Silverlight support
Object Model
UserFilterCommand Class
Syntax
'Declaration
 
Public Class UserFilterCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements Leadtools.ImageProcessing.IRasterCommand 
'Usage
 
Dim instance As UserFilterCommand
public sealed class UserFilterCommand : Leadtools.ImageProcessing.IRasterCommand  
function Leadtools.ImageProcessing.Effects.UserFilterCommand()
Remarks
Example
 
Public Sub UserFilterCommandExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True

   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"))

   ' Prepare the command
   Dim i As Integer
   Dim j As Integer
   Dim matrix() As Integer
   ReDim matrix(8)

   Dim command As UserFilterCommand = New UserFilterCommand
   command.CenterPoint = New LeadPoint(1, 1)
   command.Divisor = 1
   command.Offset = 0
   command.Type = UserFilterCommandType.Sum
   command.FilterHeight = 3
   command.FilterWidth = 3
   command.Matrix = matrix

   ' Initialize the array with factor used to apply the high pass filter.
   For i = 0 To 2
      For j = 0 To 2
         If (j = 1 Or i = 1) Then
            If (j = 1 And i = 1) Then
               command.Matrix(i * 3 + j) = 5
            Else
               command.Matrix(i * 3 + j) = -1
            End If
         Else
            command.Matrix(i * 3 + j) = 0
         End If
      Next
   Next

   ' Apply the high pass custom filter.
   command.Run(leadImage)
   codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24)

End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void UserFilterCommandExample()
   {
      // Load an image
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

      RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));

      // Prepare the command
      int i, j;
      UserFilterCommand command = new UserFilterCommand();
      command.CenterPoint = new LeadPoint(1, 1);
      command.Divisor = 1;
      command.Offset = 0;
      command.Type = UserFilterCommandType.Sum;
      command.FilterHeight = 3;
      command.FilterWidth = 3;
      command.Matrix = new int[9];

      // Initialize the array with factor used to apply the high pass filter.
      for(i = 0; i < 3; i++)
      {
         for(j = 0; j < 3; j++)
         {
            if(j == 1 || i == 1) 
            {
               if(j == 1 && i == 1) 
                  command.Matrix[i * 3 + j] = 5; 
               else 
                  command.Matrix[i * 3 + j] = -1; 
            }
            else
               command.Matrix[i * 3 + j] = 0; 
         }
      }

      // Apply the high pass custom filter.
      command.Run(image);

   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
[TestMethod]
public async Task UserFilterCommandExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   // Load the image
   string srcFileName = @"Assets\Image1.cmp";
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));


   // Prepare the command
   int i, j;
   UserFilterCommand command = new UserFilterCommand();
   command.CenterPoint = LeadPointHelper.Create(1, 1);
   command.Divisor = 1;
   command.Offset = 0;
   command.Type = UserFilterCommandType.Sum;
   command.FilterHeight = 3;
   command.FilterWidth = 3;
   command.Matrix = new int[9];

   // Initialize the array with factor used to apply the high pass filter.
   for(i = 0; i < 3; i++)
   {
      for(j = 0; j < 3; j++)
      {
         if(j == 1 || i == 1) 
         {
            if(j == 1 && i == 1) 
               command.Matrix[i * 3 + j] = 5; 
            else 
               command.Matrix[i * 3 + j] = -1; 
         }
         else
            command.Matrix[i * 3 + j] = 0; 
      }
   }

   // Apply the high pass custom filter.
   command.Run(image);

}
public void UserFilterCommandExample(RasterImage image, Stream outStream)
{
   // Prepare the command
   int i, j;
   UserFilterCommand command = new UserFilterCommand();
   command.CenterPoint = new LeadPoint(1, 1);
   command.Divisor = 1;
   command.Offset = 0;
   command.Type = UserFilterCommandType.Sum;
   command.FilterHeight = 3;
   command.FilterWidth = 3;
   command.Matrix = new int[9];
   // Initialize the array with factor used to apply the high pass filter.
   for (i = 0; i < 3; i++)
   {
      for (j = 0; j < 3; j++)
      {
         if (j == 1 || i == 1)
         {
            if (j == 1 && i == 1)
               command.Matrix[i * 3 + j] = 5;
            else
               command.Matrix[i * 3 + j] = -1;
         }
         else
            command.Matrix[i * 3 + j] = 0;
      }
   }

   // Apply the high pass custom filter.
   command.Run(image);
   // Save result image
   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24);
   image.Dispose();
}
Public Sub UserFilterCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
   ' Prepare the command
   Dim i, j As Integer
   Dim command As UserFilterCommand = New UserFilterCommand()
   command.CenterPoint = New LeadPoint(1, 1)
   command.Divisor = 1
   command.Offset = 0
   command.Type = UserFilterCommandType.Sum
   command.FilterHeight = 3
   command.FilterWidth = 3
   command.Matrix = New Integer(8){}
   ' Initialize the array with factor used to apply the high pass filter.
   For i = 0 To 2
      For j = 0 To 2
         If j = 1 OrElse i = 1 Then
            If j = 1 AndAlso i = 1 Then
               command.Matrix(i * 3 + j) = 5
            Else
               command.Matrix(i * 3 + j) = -1
            End If
         Else
            command.Matrix(i * 3 + j) = 0
         End If
      Next j
   Next i

   ' Apply the high pass custom filter.
   command.Run(image)
   ' Save result image
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
   image.Dispose()
End Sub
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

UserFilterCommand Members
Leadtools.ImageProcessing.Effects Namespace
Leadtools.ImageProcessing.Core.MinimumCommand
Leadtools.ImageProcessing.Core.MaximumCommand
AddNoiseCommand Class
SharpenCommand Class
Leadtools.ImageProcessing.Color.PosterizeCommand
MosaicCommand Class
EmbossCommand Class
AverageCommand Class
Leadtools.ImageProcessing.Core.MedianCommand
Leadtools.ImageProcessing.Color.IntensityDetectCommand
SpatialFilterCommand Class
BinaryFilterCommand Class
OilifyCommand Class
Leadtools.ImageProcessing.Color.SolarizeCommand
Leadtools.ImageProcessing.Core.WindowLevelCommand
Leadtools.ImageProcessing.SpecialEffects.ShadowCommand
Leadtools.ImageProcessing.Color.ChangeHueSaturationIntensityCommand
Leadtools.ImageProcessing.Color.ColorReplaceCommand
Leadtools.ImageProcessing.Color.ColorThresholdCommand
Leadtools.ImageProcessing.Core.DiscreteFourierTransformCommand
DirectionEdgeStatisticalCommand Class
Leadtools.ImageProcessing.Core.FastFourierTransformCommand
Leadtools.ImageProcessing.Core.FrequencyFilterCommand
Leadtools.ImageProcessing.Core.FrequencyFilterMaskCommand
Leadtools.ImageProcessing.Core.FourierTransformDisplayCommand
StatisticsInformationCommand Class
FeretsDiameterCommand Class
ObjectInformationCommand Class
RegionContourPointsCommand Class
GetRegionPerimeterLength Method
Leadtools.ImageProcessing.Color.MathematicalFunctionCommand
Leadtools.ImageProcessing.SpecialEffects.RevEffectCommand
Leadtools.ImageProcessing.Color.SegmentCommand
Leadtools.ImageProcessing.Core.SubtractBackgroundCommand
HighPassCommand Class

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.