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

フレームを表示

DiscreteFourierTransformCommandクラス








メンバ 
フラグにより指定された場合に、画像の離散的フーリエ変換または離散的逆フーリエ変換を計算します。
オブジェクトモデル
構文
'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  
解説

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

*マスターチャネル値を計算すること

LEADTOOLSで広く使われている画像処理フィルタの速度を上げるために、カラー画像のグレースケール値(マスターチャネル)は、以下の手法を用いて計算されます:

            #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))
            
詳細については、「除去ノイズ」を参照してください。
サンプル

imageの上でDiscreteFourierTransformCommandを実行します。

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