Computes the Discrete Fourier transform of an image or the Inverse Discrete Fourier transform as specified by the flags.
public class DiscreteFourierTransformCommand : RasterCommand
Public Class DiscreteFourierTransformCommand
Inherits RasterCommand
@interface LTDiscreteFourierTransformCommand : LTRasterCommand
public ref class DiscreteFourierTransformCommand : public RasterCommand
This command is available in the Imaging Pro and above toolkits.
This command does not support signed images.
In order to speed up widely used image processing filters in LEADTOOLS, the grayscale value (master channel) of a colored image is calculated using the following formulas:
#define CalcGrayValue(r, g, b) ((L_UCHAR)(((L_UCHAR) (((2 * (L_UINT) (r)) + (5 * (L_UINT) (g)) + (L_UINT) (b) + 4) / 8))))
#define CalcGrayValue16(r, g, b) ((L_UINT16) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
#define CalcGrayValue32(r, g, b) ((L_UINT32) (((2 * (L_UINT32) (r)) + (5 * (L_UINT32) (g)) + (L_UINT32) (b) + 4) / 8))
For more information, refer to Removing Noise.
Run the DiscreteFourierTransformCommand on an image.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void DiscreteFourierTransformCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));
// Prepare the command
FourierTransformInformation FTArray = new FourierTransformInformation(image);
LeadRect rcRange = new LeadRect(0, 0, image.Width - 1, image.Height - 1);
DiscreteFourierTransformCommand command = new DiscreteFourierTransformCommand();
command.FourierTransformInformation = FTArray;
command.Range = rcRange;
command.Flags = DiscreteFourierTransformCommandFlags.DiscreteFourierTransform |
DiscreteFourierTransformCommandFlags.Gray |
DiscreteFourierTransformCommandFlags.Range |
DiscreteFourierTransformCommandFlags.InsideX |
DiscreteFourierTransformCommandFlags.InsideY;
//Apply DFT.
FourierTransformDisplayCommand disCommand = new FourierTransformDisplayCommand();
disCommand.Flags = FourierTransformDisplayCommandFlags.Log | FourierTransformDisplayCommandFlags.Magnitude;
disCommand.FourierTransformInformation = command.FourierTransformInformation;
// plot frequency magnitude
disCommand.Run(image);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Public Sub DiscreteFourierTransformCommandExample()
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 FTArray As FourierTransformInformation = New FourierTransformInformation(leadImage)
Dim rcRange As LeadRect = New LeadRect(0, 0, leadImage.Width - 1, leadImage.Height - 1)
Dim command As DiscreteFourierTransformCommand = New DiscreteFourierTransformCommand
command.FourierTransformInformation = FTArray
command.Range = rcRange
command.Flags = DiscreteFourierTransformCommandFlags.DiscreteFourierTransform Or
DiscreteFourierTransformCommandFlags.Gray Or
DiscreteFourierTransformCommandFlags.Range Or
DiscreteFourierTransformCommandFlags.InsideX Or
DiscreteFourierTransformCommandFlags.InsideY
'Apply DFT.
command.Run(leadImage)
Dim disCommand As FourierTransformDisplayCommand = New FourierTransformDisplayCommand
disCommand.Flags = FourierTransformDisplayCommandFlags.Log Or FourierTransformDisplayCommandFlags.Magnitude
disCommand.FourierTransformInformation = command.FourierTransformInformation
'plot frequency magnitude
disCommand.Run(leadImage)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
DiscreteFourierTransformCommand Members
Leadtools.ImageProcessing.Core Namespace
FastFourierTransformCommand Class
FourierTransformDisplayCommand Class
Leadtools.ImageProcessing.Effects.AverageCommand
Leadtools.ImageProcessing.Effects.AddNoiseCommand
Leadtools.ImageProcessing.Color.IntensityDetectCommand
Leadtools.ImageProcessing.Effects.SpatialFilterCommand
Leadtools.ImageProcessing.Effects.BinaryFilterCommand
Leadtools.ImageProcessing.Color.ChangeHueSaturationIntensityCommand
Leadtools.ImageProcessing.Color.ColorThresholdCommand
DiscreteFourierTransformCommand Class
Leadtools.ImageProcessing.Effects.DirectionEdgeStatisticalCommand
Leadtools.ImageProcessing.Effects.StatisticsInformationCommand
Leadtools.ImageProcessing.Effects.FeretsDiameterCommand
Leadtools.ImageProcessing.Effects.ObjectInformationCommand
Leadtools.ImageProcessing.Effects.RegionContourPointsCommand
Leadtools.ImageProcessing.Color.MathematicalFunctionCommand
Leadtools.ImageProcessing.SpecialEffects.RevEffectCommand
Leadtools.ImageProcessing.Color.SegmentCommand
SubtractBackgroundCommand Class
Leadtools.ImageProcessing.Effects.UserFilterCommand
Leadtools.ImageProcessing.SpecialEffects.FragmentCommand
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document