LEADTOOLS画像処理(Leadtools.ImageProcessing.Coreアセンブリ)

フレームを表示

FastFourierTransformCommandクラス








メンバ 
imageの高速フーリエ変換またはフラグによって指定される逆の高速フーリエ変換を計算します。
オブジェクトモデル
構文
'Declaration
 
Public Class FastFourierTransformCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements Leadtools.ImageProcessing.IRasterCommand 
'Usage
 
Dim instance As FastFourierTransformCommand
public sealed class FastFourierTransformCommand : Leadtools.ImageProcessing.IRasterCommand  
@interface LTFastFourierTransformCommand : LTRasterCommand
public class FastFourierTransformCommand extends RasterCommand
function Leadtools.ImageProcessing.Core.FastFourierTransformCommand()
public ref class FastFourierTransformCommand : public Leadtools.ImageProcessing.RasterCommand, Leadtools.ImageProcessing.IRasterCommand  
解説

このコマンドは、Imaging Pro以上のツールキットで利用できます。

詳細については、「除去ノイズ」を参照してください。
サンプル

FFT変換を適用するために、imageの上でFastFourierTransformCommandを実行します。

Copy Code  
Imports Leadtools
Imports Leadtools.ImageProcessing
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core

   
Public Sub FastFourierTransformCommandExample()
   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.ImageProcessing;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;

      
public void FastFourierTransformCommandExample()
{
   // 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.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 FastFourierTransformCommandExample()
{
   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);
         // Apply FFT.
         var command = new FastFourierTransformCommand(FTArray, 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 FastFourierTransformCommandExample()
{
   // 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.OutsideY);

   FastFourierTransformCommand InvCommand = new FastFourierTransformCommand(FTArray, FastFourierTransformCommandFlags.InverseFastFourierTransform |  FastFourierTransformCommandFlags.Gray | FastFourierTransformCommandFlags.Scale |
         FastFourierTransformCommandFlags.Both);
   InvCommand.Run(image);

}
必要条件

ターゲットプラットホーム

参照

参照

FastFourierTransformCommandメンバ
Leadtools.ImageProcessing.Core名前空間
ノイズを削除すること
FrequencyFilterMaskCommandクラス
DiscreteFourierTransformCommandクラス
FourierTransformDisplayCommandクラス
Leadtools.ImageProcessing.Effects.AverageCommand
MedianCommandクラス
Leadtools.ImageProcessing.Color.IntensityDetectCommand
Leadtools.ImageProcessing.Effects.SpatialFilterCommand
MaximumCommandクラス
MinimumCommandクラス
Leadtools.ImageProcessing.Effects.AddNoiseCommand
Leadtools.ImageProcessing.Effects.BinaryFilterCommand
Leadtools.ImageProcessing.Color.ChangeHueSaturationIntensityCommand
Leadtools.ImageProcessing.Color.ColorThresholdCommand
Leadtools.ImageProcessing.Effects.DirectionEdgeStatisticalCommand
FrequencyFilterCommandクラス
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クラス
Leadtools.ImageProcessing.Effects.UserFilterCommand
Leadtools.ImageProcessing.SpecialEffects.FragmentCommand
Leadtools.ImageProcessing.Effects.HighPassCommand
Leadtools.ImageProcessing.Effects.UnsharpMaskCommand