Visual Basic (Declaration) | |
---|---|
Public Class UserFilterCommand Inherits Leadtools.ImageProcessing.RasterCommand Implements IRasterCommand |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As UserFilterCommand |
C# | |
---|---|
public class UserFilterCommand : Leadtools.ImageProcessing.RasterCommand, IRasterCommand |
C++/CLI | |
---|---|
public ref class UserFilterCommand : public Leadtools.ImageProcessing.RasterCommand, IRasterCommand |
Run the Leadtools.ImageProcessing.Effects.UserFilterCommand on an image, In this example the high pass.filter will be applied using user defined matrix.
Visual Basic | Copy Code |
---|---|
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 |
C# | Copy Code |
---|---|
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"; } |
SilverlightCSharp | Copy Code |
---|---|
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(); } |
SilverlightVB | Copy Code |
---|---|
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 |
- With this command you can create a user-defined filter and apply it to the image. The filter has a rectangular form (matrix) where the values are user-defined. It allows the creation of simple customized filters, where each value in matrix is multiplied by the corresponding pixel, and then the specified operation is performed on the results.
- When the filter is applied to pixels from the edge and you choose the sum operation, the edge rows and columns are duplicated. For example, if the pixel (-1, 5) is needed, the pixel (0, 5) is used instead.
- This command supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.
- This command does not support 32-bit grayscale images.
System.Object
Leadtools.ImageProcessing.RasterCommand
Leadtools.ImageProcessing.Effects.UserFilterCommand
Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)
Reference
UserFilterCommand MembersLeadtools.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