Visual Basic (Declaration) | |
---|---|
Public Class FastFourierTransformCommand Inherits Leadtools.ImageProcessing.RasterCommand Implements IRasterCommand |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As FastFourierTransformCommand |
C# | |
---|---|
public class FastFourierTransformCommand : Leadtools.ImageProcessing.RasterCommand, IRasterCommand |
C++/CLI | |
---|---|
public ref class FastFourierTransformCommand : public Leadtools.ImageProcessing.RasterCommand, IRasterCommand |
Run the FastFourierTransformCommand on an image to apply a FFT transformation.
Visual Basic | Copy Code |
---|---|
Public Sub FastFourierTransformCommandExample() Dim codecs As New RasterCodecs() codecs.ThrowExceptionsOnInvalidImages = True Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")) ' Prepare the command ' Resize the image to make sure the image's dimensions are power of two. Dim sizecommand As SizeCommand = New SizeCommand(256, 256, RasterSizeFlags.Bicubic) sizecommand.Run(leadImage) Dim FTArray As FourierTransformInformation = New FourierTransformInformation(leadImage) ' Apply FFT. Dim command As FastFourierTransformCommand = New FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.FastFourierTransform Or FastFourierTransformCommandFlags.Gray) command.Run(leadImage) Dim rcRect As LeadRect = New LeadRect(0, 0, leadImage.Width \ 2, leadImage.Height \ 2) Dim FreqCommand As FrequencyFilterCommand = New FrequencyFilterCommand(FTArray, rcRect, FrequencyFilterCommandFlags.InsideX Or FrequencyFilterCommandFlags.OutsideY) Dim InvCommand As FastFourierTransformCommand = New FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.InverseFastFourierTransform Or FastFourierTransformCommandFlags.Gray Or FastFourierTransformCommandFlags.Scale Or FastFourierTransformCommandFlags.Both) InvCommand.Run(leadImage) 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 FastFourierTransformCommandExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")); // Prepare the command // Resize the image to make sure the image's dimensions are power of two. SizeCommand sizecommand = new SizeCommand(256, 256, Leadtools.RasterSizeFlags.Bicubic); sizecommand.Run(image); FourierTransformInformation FTArray = new FourierTransformInformation(image); // Apply FFT. FastFourierTransformCommand command = new FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.FastFourierTransform | FastFourierTransformCommandFlags.Gray); command.Run(image); LeadRect rcRect = new LeadRect(0, 0, image.Width / 2, image.Height / 2); FrequencyFilterCommand FreqCommand = new FrequencyFilterCommand(FTArray, rcRect, FrequencyFilterCommandFlags.InsideX | FrequencyFilterCommandFlags.OutsideY); FastFourierTransformCommand InvCommand = new FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.InverseFastFourierTransform | FastFourierTransformCommandFlags.Gray | FastFourierTransformCommandFlags.Scale | FastFourierTransformCommandFlags.Both); InvCommand.Run(image); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; } |
SilverlightCSharp | Copy Code |
---|---|
SilverlightVB | Copy Code |
---|---|
- This command converts the image from the time domain to the frequency domain and vice versa using a Fast Fourier Transform algorithm. Fast Fourier Transform algorithms are a simplification of a Discrete Fourier Transform and require that the image dimensions must be power of two (i.e. 2, 4, 8, 16, 32_etc). The number of computations needed are reduced from 2N2 to 2N LgN. Use the DiscreteFourierTransformCommand to use a Discrete Fourier Transform algorithm on an image. If you try to use this method with an image with dimensions that are not a power of two, the method will return an ERROR_INV_PARAMETER error.
- Before using this command, you must create an instance of FourierTransformInformation
- The image can be transformed back into the original image minus the noise using the InverseFastFourierTransform
- This command does not work on regions. If the image has a region the method ignores it and processes the entire image.
- This command does not support 12 and 16-bit grayscale and 48 and 64-bit color images. If the image is 12 and 16-bit grayscale and 48 and 64-bit color, the command will not threw an exception.
- This command does not support 32-bit grayscale images.
System.Object
Leadtools.ImageProcessing.RasterCommand
Leadtools.ImageProcessing.Core.FastFourierTransformCommand
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
FastFourierTransformCommand MembersLeadtools.ImageProcessing.Core Namespace
Removing Noise
FrequencyFilterMaskCommand Class
DiscreteFourierTransformCommand Class
FourierTransformDisplayCommand Class
Leadtools.ImageProcessing.Effects.AverageCommand
MedianCommand Class
Leadtools.ImageProcessing.Color.IntensityDetectCommand
Leadtools.ImageProcessing.Effects.SpatialFilterCommand
MaximumCommand Class
MinimumCommand Class
Leadtools.ImageProcessing.Effects.AddNoiseCommand
Leadtools.ImageProcessing.Effects.BinaryFilterCommand
Leadtools.ImageProcessing.Color.ChangeHueSaturationIntensityCommand
Leadtools.ImageProcessing.Color.ColorThresholdCommand
Leadtools.ImageProcessing.Effects.DirectionEdgeStatisticalCommand
FrequencyFilterCommand Class
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
Leadtools.ImageProcessing.Effects.HighPassCommand
Leadtools.ImageProcessing.Effects.UnsharpMaskCommand