Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.27
|
Leadtools.ImageProcessing.Core Namespace : DiscreteFourierTransformCommand Class |
public class DiscreteFourierTransformCommand : Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand
'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
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"; }
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); }
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