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 DiscreteFourierTransformCommandInherits 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 imageRasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));// Prepare the commandFourierTransformInformation 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 magnitudedisCommand.Run(image);}static class LEAD_VARS{public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessing.CorePublic Sub DiscreteFourierTransformCommandExample()Dim codecs As New RasterCodecs()codecs.ThrowExceptionsOnInvalidImages = TrueDim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"))' Prepare the commandDim 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 DiscreteFourierTransformCommandcommand.FourierTransformInformation = FTArraycommand.Range = rcRangecommand.Flags = DiscreteFourierTransformCommandFlags.DiscreteFourierTransform OrDiscreteFourierTransformCommandFlags.Gray OrDiscreteFourierTransformCommandFlags.Range OrDiscreteFourierTransformCommandFlags.InsideX OrDiscreteFourierTransformCommandFlags.InsideY'Apply DFT.command.Run(leadImage)Dim disCommand As FourierTransformDisplayCommand = New FourierTransformDisplayCommanddisCommand.Flags = FourierTransformDisplayCommandFlags.Log Or FourierTransformDisplayCommandFlags.MagnitudedisCommand.FourierTransformInformation = command.FourierTransformInformation'plot frequency magnitudedisCommand.Run(leadImage)End SubPublic NotInheritable Class LEAD_VARSPublic 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
