Error processing SSI file
LEADTOOLS Image Processing (Leadtools.ImageProcessing.Core assembly)

Show in webframe

DiscreteFourierTransformCommand Class








Members 
Computes the Discrete Fourier transform of an image or the Inverse Discrete Fourier transform as specified by the flags.
Object Model
Syntax
'Declaration
 
Public Class DiscreteFourierTransformCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements Leadtools.ImageProcessing.IRasterCommand 
'Usage
 
Dim instance As DiscreteFourierTransformCommand
public sealed class DiscreteFourierTransformCommand : Leadtools.ImageProcessing.IRasterCommand  
@interface LTDiscreteFourierTransformCommand : LTRasterCommand
function Leadtools.ImageProcessing.Core.DiscreteFourierTransformCommand()
public ref class DiscreteFourierTransformCommand : public Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand  
Remarks

This command is available in the Imaging Pro and above toolkits.

*Calculating Master Channel Values

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.
Example

Run the DiscreteFourierTransformCommand on an image.

Copy Code  
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";
}
function DiscreteFourierTransformCommandExample()
{
   var codecs = new Leadtools.Codecs.RasterCodecs();
   codecs.throwExceptionsOnInvalidImages = true;

   // Load the image
   var srcFileName = "Assets\\Image1.cmp";
   return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
      return codecs.loadAsync(Leadtools.LeadStreamFactory.create(loadFile));
   }).then(function (image){
      // Prepare the command
      with (Leadtools.ImageProcessing.Core) {
         var FTArray = new FourierTransformInformation(image);
         var rcRange = Leadtools.LeadRectHelper.create(0, 0, image.width - 1, image.height - 1);
         var command = new DiscreteFourierTransformCommand();
         
         command.fourierTransformInformation = FTArray;
         command.range = rcRange;
         command.flags = DiscreteFourierTransformCommandFlags.discreteFourierTransform | 
            DiscreteFourierTransformCommandFlags.gray    | 
            DiscreteFourierTransformCommandFlags.range   | 
            DiscreteFourierTransformCommandFlags.insideX | 
            DiscreteFourierTransformCommandFlags.insideY;
         //Apply DFT.
         
         var disCommand = new FourierTransformDisplayCommand();
         disCommand.flags = FourierTransformDisplayCommandFlags.log | FourierTransformDisplayCommandFlags.magnitude;
         disCommand.fourierTransformInformation = command.fourierTransformInformation;
         // plot frequency magnitude
         disCommand.run(image);
      }
   });
}
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);

}
Requirements

Target Platforms

See Also

Reference

DiscreteFourierTransformCommand Members
Leadtools.ImageProcessing.Core Namespace
Removing Noise
FastFourierTransformCommand Class
FrequencyFilterCommand Class
FourierTransformDisplayCommand Class
Leadtools.ImageProcessing.Effects.AverageCommand
MedianCommand Class
Leadtools.ImageProcessing.Effects.AddNoiseCommand
Leadtools.ImageProcessing.Color.IntensityDetectCommand
Leadtools.ImageProcessing.Effects.SpatialFilterCommand
Leadtools.ImageProcessing.Effects.BinaryFilterCommand
MaximumCommand Class
MinimumCommand Class
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
Leadtools.ImageProcessing.Effects.HighPassCommand
Leadtools.ImageProcessing.Effects.UnsharpMaskCommand

Error processing SSI file