←Select platform

Complex Structure

Summary
The Complex structure contains a complex number representing a specific frequency component in Fourier Transform methods.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public struct Complex 
struct LTComplex 
public class Complex 
public value class Complex : public System.ValueType  
class Complex: 
Example
C#
Java
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, @"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, 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:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.IOException; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.assertTrue; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.*; 
import leadtools.imageprocessing.core.*; 
 
 
public void fastFourierTransformConstructorExample() { 
    final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
 
    // Load an image 
    RasterCodecs codecs = new RasterCodecs(); 
    codecs.setThrowExceptionsOnInvalidImages(true); 
 
    RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "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, RasterSizeFlags.BICUBIC.getValue()); 
 
    sizeCommand.run(image); 
 
    FourierTransformInformation ftArray = new FourierTransformInformation(image); 
    // Apply FFT. 
    FastFourierTransformCommand command = new FastFourierTransformCommand(ftArray, 
            FastFourierTransformCommandFlags.FAST_FOURIER_TRANSFORM.getValue() 
                    | FastFourierTransformCommandFlags.GRAY.getValue()); 
    command.run(image); 
    FastFourierTransformCommand invCommand = new FastFourierTransformCommand(ftArray, 
            FastFourierTransformCommandFlags.INVERSE_FAST_FOURIER_TRANSFORM.getValue() 
                    | FastFourierTransformCommandFlags.GRAY.getValue() 
                    | FastFourierTransformCommandFlags.SCALE.getValue() 
                    | FastFourierTransformCommandFlags.BOTH.getValue()); 
    invCommand.run(image); 
 
    // Save the image 
    String outputFileName = combine(LEAD_VARS_IMAGES_DIR, "FourierTransform_result.jpg"); 
    codecs.save(image, outputFileName, RasterImageFormat.JPEG, 0); 
 
    System.out.println("Command run and image saved to " + outputFileName); 
    assertTrue(new File(outputFileName).exists()); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.3.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Core Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.