Computes the Discrete Fourier transform of an image or the Inverse Discrete Fourier transform as specified by the flags.
public class DiscreteFourierTransformCommand : Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand, Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
Public Class DiscreteFourierTransformCommand
Inherits Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand
Implements Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
public sealed class DiscreteFourierTransformCommand : Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
@interface LTDiscreteFourierTransformCommand : LTRasterCommand
function Leadtools.ImageProcessing.Core.DiscreteFourierTransformCommand()
public ref class DiscreteFourierTransformCommand : public Leadtools.Imageprocessing.Leadtools.ImageProcessing.RasterCommand, Leadtools.Imageprocessing.Leadtools.ImageProcessing.IRasterCommand
This command is available in the Imaging Pro and above toolkits.
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.
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
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";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public async Task DiscreteFourierTransformCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
// Load the image
string srcFileName = @"Assets\Image1.cmp";
StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
// Prepare the command
FourierTransformInformation FTArray = new FourierTransformInformation(image);
LeadRect rcRange = LeadRectHelper.Create(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);
}
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
Products |
Support |
Feedback: DiscreteFourierTransformCommand Class - Leadtools.ImageProcessing.Core |
Introduction |
Help Version 19.0.2017.3.21
|
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
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.