←Select platform

FrequencyFilterCommand Class

Summary

Filters the frequency harmonics data produced by a Fourier Transform method using a range rectangle.

Syntax

C#
VB
WinRT C#
C++
public class FrequencyFilterCommand
Public Class FrequencyFilterCommand
public sealed class FrequencyFilterCommand
function Leadtools.ImageProcessing.Core.FrequencyFilterCommand()
public ref class FrequencyFilterCommand

Remarks
  • This command is used only when working with Fourier Transform methods.
  • 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 signed images.

For more information, refer to Removing Noise.

Example

Run the FrequencyFilterCommand on an image.

C#
VB
WinRT C#
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Core 
 
    
Public Sub FrequencyFilterCommandExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\\FourierTransform.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 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Core; 
 
       
public void FrequencyFilterCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\FourierTransform.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.InsideY); 
 
   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"; 
} 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Core; 
using Leadtools.ImageProcessing; 
 
       
public async Task FrequencyFilterCommandExample() 
{ 
   // 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 
   // 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 = LeadRectHelper.Create(0, 0, image.Width / 2, image.Height / 2); 
   FrequencyFilterCommand FreqCommand = new FrequencyFilterCommand(FTArray, rcRect, FrequencyFilterCommandFlags.InsideX |   FrequencyFilterCommandFlags.InsideY); 
 
   FastFourierTransformCommand InvCommand = new FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.InverseFastFourierTransform |  FastFourierTransformCommandFlags.Gray |   FastFourierTransformCommandFlags.Scale | 
         FastFourierTransformCommandFlags.Both); 
   InvCommand.Run(image); 
 
} 

Requirements

Target Platforms

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.ImageProcessing.Core Assembly
Click or drag to resize