Imports Leadtools
Imports Leadtools.ImageProcessing
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core
Public Sub FastFourierTransformConstructorExample()
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 sizeCmd As SizeCommand = New SizeCommand(256, 256, RasterSizeFlags.Bicubic)
sizeCmd.Run(leadImage)
Dim ftArray As FourierTransformInformation
ftArray = New FourierTransformInformation(leadImage)
Dim data() As Complex
data = ftArray.Data
Dim width As Integer = ftArray.Width
Dim height As Integer = ftArray.Height
' Apply FFT.
Dim command As FastFourierTransformCommand
command = New FastFourierTransformCommand
command.FourierTransformInformation = ftArray
command.Flags = FastFourierTransformCommandFlags.FastFourierTransform Or FastFourierTransformCommandFlags.Gray
command.Run(leadImage)
Dim rcRect As LeadRect
rcRect = New LeadRect(0, 0, CType((leadImage.Width / 2), Integer), CType((leadImage.Height / 2), Integer))
Dim freqCommand As FrequencyFilterCommand
freqCommand = New FrequencyFilterCommand(ftArray, rcRect, FrequencyFilterCommandFlags.InsideX Or FrequencyFilterCommandFlags.OutsideY)
Dim invCommand As FastFourierTransformCommand
invCommand = 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.ImageProcessing;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
public void FastFourierTransformConstructorExample()
{
// 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, RasterSizeFlags.Bicubic);
sizeCommand.Run(image);
FourierTransformInformation ftArray = new FourierTransformInformation(image);
Complex[] data = ftArray.Data;
int width = ftArray.Width;
int height = ftArray.Height;
// Apply FFT.
FastFourierTransformCommand command = new FastFourierTransformCommand();
command.FourierTransformInformation = ftArray;
command.Flags = 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";
}
function FastFourierTransformConstructorExample()
{
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) {
// Resize the image to make sure the image's dimensions are power of two.
var sizeCommand = new Leadtools.ImageProcessing.SizeCommand(256, 256, Leadtools.RasterSizeFlags.bicubic);
sizeCommand.run(image);
var ftArray = new FourierTransformInformation(image);
var data = ftArray.Data;
var width = ftArray.width;
var height = ftArray.height;
// Apply FFT.
var command = new FastFourierTransformCommand();
command.fourierTransformInformation = ftArray;
command.flags = FastFourierTransformCommandFlags.fastFourierTransform | FastFourierTransformCommandFlags.gray;
command.run(image);
var rcRect = Leadtools.LeadRectHelper.create(0, 0, image.width / 2, image.height / 2);
var freqCommand = new FrequencyFilterCommand(ftArray, rcRect, FrequencyFilterCommandFlags.insideX | FrequencyFilterCommandFlags.outsideY);
var invCommand = new FastFourierTransformCommand(ftArray, FastFourierTransformCommandFlags.inverseFastFourierTransform | FastFourierTransformCommandFlags.gray | FastFourierTransformCommandFlags.scale | FastFourierTransformCommandFlags.both);
invCommand.run(image);
}
});
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing;
public async Task FastFourierTransformConstructorExample()
{
// 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, RasterSizeFlags.Bicubic);
sizeCommand.Run(image);
FourierTransformInformation ftArray = new FourierTransformInformation(image);
Complex[] data = ftArray.Data;
int width = ftArray.Width;
int height = ftArray.Height;
// Apply FFT.
FastFourierTransformCommand command = new FastFourierTransformCommand();
command.FourierTransformInformation = ftArray;
command.Flags = 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.OutsideY);
FastFourierTransformCommand invCommand = new FastFourierTransformCommand(ftArray, FastFourierTransformCommandFlags.InverseFastFourierTransform | FastFourierTransformCommandFlags.Gray | FastFourierTransformCommandFlags.Scale | FastFourierTransformCommandFlags.Both);
invCommand.Run(image);
}