Filters the image based on a user-defined filter / mask. This command is similar to the spatial and binary filter commands.
public class UserFilterCommand : RasterCommand
Public Class UserFilterCommand
Inherits Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand
Implements Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
public sealed class UserFilterCommand : Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
@interface LTUserFilterCommand : LTRasterCommand
public class UserFilterCommand extends RasterCommand
function Leadtools.ImageProcessing.Effects.UserFilterCommand()
public ref class UserFilterCommand : public Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand, Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
Run the UserFilterCommand on an image, In this example the high pass.filter will be applied using user defined matrix.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Effects;
public void UserFilterCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP"));
// 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";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Effects
Leadtools.Examples.Support.SetLicense()
Public Sub UserFilterCommandExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP"))
' 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
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Effects;
using Leadtools.Examples;
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();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Effects
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
Leadtools.ImageProcessing.Effects Namespace
Leadtools.ImageProcessing.Core.MinimumCommand
Leadtools.ImageProcessing.Core.MaximumCommand
Leadtools.ImageProcessing.Color.PosterizeCommand
Leadtools.ImageProcessing.Core.MedianCommand
Leadtools.ImageProcessing.Color.IntensityDetectCommand
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
ObjectInformationCommand Class
RegionContourPointsCommand Class
GetRegionPerimeterLength Method
Leadtools.ImageProcessing.Color.MathematicalFunctionCommand
Leadtools.ImageProcessing.SpecialEffects.RevEffectCommand
Leadtools.ImageProcessing.Color.SegmentCommand
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET