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

フレームを表示

ZeroToNegativeCommandクラス








メンバ 
画像データを、ユーザーが指定した量だけ負の方向にシフトすることにより、グレースケールの符号なし画像を符号付き画像に変換します。
オブジェクトモデル
構文
'Declaration
 
Public Class ZeroToNegativeCommand 
   Inherits Leadtools.ImageProcessing.RasterCommand
   Implements Leadtools.ImageProcessing.IRasterCommand 
'Usage
 
Dim instance As ZeroToNegativeCommand
public sealed class ZeroToNegativeCommand : Leadtools.ImageProcessing.IRasterCommand  
@interface LTZeroToNegativeCommand : LTRasterCommand
public class ZeroToNegativeCommand extends RasterCommand
function Leadtools.ImageProcessing.Core.ZeroToNegativeCommand()
解説
このコマンドは、ConvertUnsignedToSignedCommandと類似しています。しかし、MinimumToZeroCommandは、明度値がシフトされた値で、ShiftAmountを更新します。更新されたShiftAmount値は、符号付き(すなわちサインがない12-16ビットグレースケールimageで機能する画像処理コマンドを使った後の)へimageを変換するために、ZeroToNegativeCommandに渡されることができます。
MinimumToZeroCommandZeroToNegativeCommandが、多くの場合一つ以上の画像処理または分析コマンドと協力して使われます。符号なし画像データで機能する画像処理または分析コマンドに備えて、MinimumToZeroCommandは符号なしデータに符合付きデータを変換します。画像処理または分析が実行されたあと、ZeroToNegativeCommandが符号なしデータが符合付きデータに支持する転向者に使われることができます。

このコマンドが、通常コマンドMinimumToZeroCommandの後使われます。

このコマンドは、RasterImage符合付きプロパティを更新します。

このコマンドは、RasterImageMinValueMaxValueプロパティも更新します。

このコマンドは符合付きデータイメージをサポートして、12と16ビットグレースケールと48と64ビットカラーイメージをサポートします。12と16ビットグレースケールと48と64ビットカラーイメージのサポートは、Document/Medicalツールキットだけで利用できます。しかし、このコマンドは、8ビットイメージをサポートしません。

このコマンドは、32ビットグレースケールイメージをサポートしません。

LEADTOOLSのSilverlightバージョンにおいて、RasterImageオブジェクトのための画像データがSilverlight WriteableBitmapを用いて内部的に保存されるならば、この画像処理コマンドは失敗しますオブジェクト。詳細については、「Silverlightの画像処理コマンド限界」を参照してください。

サンプル

このコマンドは符合付きimageの上でMultiscaleEnhancementCommandを適用します、しかし、MultiscaleEnhancementCommandが符合付きイメージをサポートしないため、符号なしimageにimageを変換して、エフェクトを適用して、それから、符合付きimageへそれを変換します。

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

   
Public Sub ZeroToNegativeCommandExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\Beauty16.jpg"))

   ' Prepare the command
   ' Convert the image to unsigned image by shifting the negative values to become positive.
   Dim MinToZCommand As MinimumToZeroCommand = New MinimumToZeroCommand
   MinToZCommand.Run(leadImage)

   ' Apply multiscale enhancement
   Dim MultiScaleCommand As MultiscaleEnhancementCommand = New MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement)

   ' Convert the image back to signed by shifting the same amount in the negative side.
   Dim command As ZeroToNegativeCommand = New ZeroToNegativeCommand
   command.MinimumInput = -32767
   command.MaximumInput = 32766
   command.MinimumOutput = 0
   command.MaximumOutput = 65535
   command.ShiftAmount = MinToZCommand.ShiftAmount
   command.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 ZeroToNegativeCommandExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\Beauty16.jpg"));

   // Prepare the command
   // Convert the image to unsigned image by shifting the negative values to become positive.
   MinimumToZeroCommand MinToZCommand = new MinimumToZeroCommand();
   MinToZCommand.Run(image); 

   // Apply multiscale enhancement
   MultiscaleEnhancementCommand MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement);

   // Convert the image back to signed by shifting the same amount in the negative side.
   ZeroToNegativeCommand command = new ZeroToNegativeCommand();
   command.MinimumInput  = -32767;
   command.MaximumInput  = 32766;
   command.MinimumOutput = 0;
   command.MaximumOutput = 65535;
   command.ShiftAmount   = MinToZCommand.ShiftAmount;
   command.Run(image);

}

static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
function ZeroToNegativeCommandExample()
{
   var codecs = new Leadtools.Codecs.RasterCodecs();
   codecs.throwExceptionsOnInvalidImages = true;

   // Load the image
   var srcFileName = "Assets\\Beauty16.jpg";
   var processedImage;
   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) {
         // Convert the image to unsigned image by shifting the negative values to become positive.
         var MinToZCommand = new MinimumToZeroCommand();
         MinToZCommand.run(image); 
         
         // Apply multiscale enhancement
         var MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.gaussian, MultiscaleEnhancementCommandFlags.edgeEnhancement);
         
         // Convert the image back to signed by shifting the same amount in the negative side.
         var command = new ZeroToNegativeCommand();
         command.minimumInput  = -32767;
         command.maximumInput  = 32766;
         command.minimumOutput = 0;
         command.maximumOutput = 65535;
         command.shiftAmount   = MinToZCommand.shiftAmount;
         command.run(image);
      }
   });
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;

      
public async Task ZeroToNegativeCommandExample()
{
   // Load an image
   RasterCodecs codecs = new RasterCodecs();
   codecs.ThrowExceptionsOnInvalidImages = true;
   // Load the image
   string srcFileName = @"Assets\Beauty16.jpg";
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // Prepare the command
   // Convert the image to unsigned image by shifting the negative values to become positive.
   MinimumToZeroCommand MinToZCommand = new MinimumToZeroCommand();
   MinToZCommand.Run(image); 

   // Apply multiscale enhancement
   MultiscaleEnhancementCommand MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement);

   // Convert the image back to signed by shifting the same amount in the negative side.
   ZeroToNegativeCommand command = new ZeroToNegativeCommand();
   command.MinimumInput  = -32767;
   command.MaximumInput  = 32766;
   command.MinimumOutput = 0;
   command.MaximumOutput = 65535;
   command.ShiftAmount   = MinToZCommand.ShiftAmount;
   command.Run(image);

}
using Leadtools;
using Leadtools.Examples;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.Core;

public void ZeroToNegativeCommandExample(RasterImage image, Stream outStream)
{
   // Prepare the command
   // Convert the image to unsigned image by shifting the negative values to become positive.
   MinimumToZeroCommand MinToZCommand = new MinimumToZeroCommand();
   MinToZCommand.Run(image); 
   // Apply multiscale enhancement
   MultiscaleEnhancementCommand MultiScaleCommand = new MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement);

   // Convert the image back to signed by shifting the same amount in the negative side.
   ZeroToNegativeCommand command = new ZeroToNegativeCommand();
   command.MinimumInput  = -32767;
   command.MaximumInput  = 32766;
   command.MinimumOutput = 0;
   command.MaximumOutput = 65535;
   command.ShiftAmount   = MinToZCommand.ShiftAmount;
   command.Run(image);

   // Save result image
   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, outStream, RasterImageFormat.DicomGray, image.BitsPerPixel);
   image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.Core

Public Sub ZeroToNegativeCommandExample(ByVal image As RasterImage, ByVal outStream As Stream)
   ' Prepare the command
   ' Convert the image to unsigned image by shifting the negative values to become positive.
   Dim MinToZCommand As MinimumToZeroCommand = New MinimumToZeroCommand()
   MinToZCommand.Run(image)
   ' Apply multiscale enhancement
   Dim MultiScaleCommand As MultiscaleEnhancementCommand = _
      New MultiscaleEnhancementCommand(2000, 4, -1, 0, 0, MultiscaleEnhancementCommandType.Gaussian, MultiscaleEnhancementCommandFlags.EdgeEnhancement)

   ' Convert the image back to signed by shifting the same amount in the negative side.
   Dim command As ZeroToNegativeCommand = New ZeroToNegativeCommand()
   command.MinimumInput = -32767
   command.MaximumInput = 32766
   command.MinimumOutput = 0
   command.MaximumOutput = 65535
   command.ShiftAmount = MinToZCommand.ShiftAmount
   command.Run(image)

   ' Save result image
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Save(image, outStream, RasterImageFormat.DicomGray, image.BitsPerPixel)
   image.Dispose()
End Sub
必要条件

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

参照

参照

ZeroToNegativeCommandメンバ
Leadtools.ImageProcessing.Core名前空間
Leadtools.ImageProcessing.ClearNegativePixelsCommand
ConvertUnsignedToSignedCommandクラス
ConvertSignedToUnsignedCommandクラス
MinimumToZeroCommandクラス