LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

AddColorHsvRangeToRegionメソッド








最低限(含んでいる)R、GとB値を指定します。ピクセルは、H,SとVを全くlowerColor以上でリージョンに含まれるupperColor以下にしなければなりません。
最大限(含んでいる)R、GとB値を指定します。ピクセルは、H,SとVを全くlowerColor以上でリージョンに含まれるupperColor以下にしなければなりません。
定義されている場合、既存の画像リージョンに関して実施するアクション。
任意のHSVカラー範囲に入るすべてのピクセルから構成されるリージョンを追加することによりimageリージョンを作成するか、更新します。
構文
'Declaration
 
Public Sub AddColorHsvRangeToRegion( _
   ByVal lowerColor As RasterHsvColor, _
   ByVal upperColor As RasterHsvColor, _
   ByVal combineMode As RasterRegionCombineMode _
) 
'Usage
 
Dim instance As RasterImage
Dim lowerColor As RasterHsvColor
Dim upperColor As RasterHsvColor
Dim combineMode As RasterRegionCombineMode
 
instance.AddColorHsvRangeToRegion(lowerColor, upperColor, combineMode)
- (BOOL)addColorHsvRangeToRegion:(LTRasterHsvColor *)lowerColor
                      upperColor:(LTRasterHsvColor*)upperColor
                     combineMode:(LTRasterRegionCombineMode)combineMode
                           error:(NSError **)error
            
public void addColorHsvRangeToRegion(
  RasterHsvColor lowerColor, 
  RasterHsvColor upperColor, 
  RasterRegionCombineMode combineMode
)
            
 function Leadtools.RasterImage.AddColorHsvRangeToRegion( 
   lowerColor ,
   upperColor ,
   combineMode 
)

パラメーター

lowerColor
最低限(含んでいる)R、GとB値を指定します。ピクセルは、H,SとVを全くlowerColor以上でリージョンに含まれるupperColor以下にしなければなりません。
upperColor
最大限(含んでいる)R、GとB値を指定します。ピクセルは、H,SとVを全くlowerColor以上でリージョンに含まれるupperColor以下にしなければなりません。
combineMode
定義されている場合、既存の画像リージョンに関して実施するアクション。
解説

このメソッドは、カラー範囲に基づくリージョンを設定するために、HSVカラーモデルを使います。

それは、特定のカラーのすべての色合いを識別することに役立ちます。たとえば、このメソッドは、以下のようにすべての緑色のリージョンを設定するために使用できます。

RGB(0,1,0)    
RGB(0,2,0) RGB(1,2,1)  
RGB(0,1,0)   -
RGB(0,3,0) RGB(1,3,1) RGB(2,3,2)
RGB(0,255,0) RGB(1,255,1) RGB(2,255,2)

下の図は、SとVがどのようにカラー緑(H = 85)に影響を及ぼすかについて示します:

リージョンに追加されるために、カラーは範囲lowerColorに入らなければなりません...upperColor.すべての赤(そして、赤の近くの色)のためにリージョンを設定したいならば、以下のようにlowerColorupperColorを指定することができます:

lowerColor (250,1,1) upperColor (5,255,255)

lowerColorのための色相は250です、そして、upperColorのための色相は5です。この範囲に入るために色相のために、それは250、251、252、253、254、255、1、2、3、4、または5でなければなりません。色相のための値が255から1まで折り返すことに注意すべきです。

このメソッドは、12と16ビットグレースケールと48と64ビットカラーイメージをサポートします。12と16ビットグレースケールと48と64ビットカラーイメージのサポートは、Document/Medical画像化版だけで利用できます。

このメソッドは、符合付きデータイメージをサポートしません。

既存のリージョンを更新するために、新しいリージョンがどのようにcombineModeパラメーターを用いて既存のものと結合されることになっているかについて指定します。詳細については、「RasterRegionCombineMode」を参照してください。

詳細については、「リージョンの作成」を参照してください。

詳細については、「リージョンの保存」を参照してください。

詳細については、「既存のリージョンの操作」を参照してください。

サンプル

このサンプルはimageをロードします、すべてのきれいな緑(Hue = 85)と一致しているリージョンを追加します、そして、緑の近くの色、(+/- 10)、ディスクへimageを保存する前に影響を受ける領域を示すために、InvertCommandを実行します。

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Core
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Controls
Imports Leadtools.Dicom
Imports Leadtools.Drawing
Imports Leadtools.Svg

      
Public Sub AddColorHsvRangeToRegionExample()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
   Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_AddColorHsvRangeToRegion.bmp")

   ' Load the image
   Dim image As RasterImage = codecs.Load(srcFileName)

   ' Add the region
   Dim lowerColor As RasterHsvColor = New RasterHsvColor(75, 40, 40)
   Dim upperColor As RasterHsvColor = New RasterHsvColor(95, 255, 255)

   image.AddColorHsvRangeToRegion(lowerColor, upperColor, RasterRegionCombineMode.Set)

   ' Draw something on the image
   Dim command As InvertCommand = New InvertCommand()
   command.Run(image)

   ' Save the image
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)

   image.Dispose()
   codecs.Dispose()
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;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Dicom;
using Leadtools.Drawing;
using Leadtools.Controls;
using Leadtools.Svg;

      
public void AddColorHsvRangeToRegionExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
   string destFileName = Path.Combine(ImagesPath.Path, "Image1_AddColorHsvRangeToRegion.bmp");

   // Load the image
   RasterImage image = codecs.Load(srcFileName);

   // Add the region
   RasterHsvColor lowerColor = new RasterHsvColor(75, 40, 40);
   RasterHsvColor upperColor = new RasterHsvColor(95, 255, 255);

   image.AddColorHsvRangeToRegion(lowerColor, upperColor, RasterRegionCombineMode.Set);

   // Draw something on the image
   InvertCommand command = new InvertCommand();
   command.Run(image);

   // Save the image
   codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);

   image.Dispose();
   codecs.Dispose();
}
RasterImageExamples.prototype.AddColorHsvRangeToRegionExample = function ( )
{
   Tools.SetLicense ( ) ;
   with (Leadtools) {
      with (Leadtools.Codecs) {
         var codecs = new RasterCodecs();

         var srcFileName = "Assets\\Image1.cmp";
         var destFileName = "Image1_AddColorHsvRangeToRegion.bmp";
         var image;

         // Load the image
         return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
            return codecs.loadAsync(LeadStreamFactory.create(loadFile))
         })
            .then(function (img) {
               image = img;

               // Add the region
               var lowerColor = RasterHsvColorHelper.create(75, 40, 40);
               var upperColor = RasterHsvColorHelper.create(95, 255, 255);

               image.addColorHsvRangeToRegion(lowerColor, upperColor, RasterRegionCombineMode.set);

               // Draw something on the image
               var command = new Leadtools.ImageProcessing.Color.InvertCommand();

               command.run(image);

               // Save the image
               return Tools.AppLocalFolder().createFileAsync(destFileName)
            })
            .then(function (saveFile) {
               var saveStream = LeadStreamFactory.create(saveFile);
               return codecs.saveAsync(image, saveStream, RasterImageFormat.bmp, 24)
            })
            .then(function () {

               image.close();
               codecs.close();
            });
      }
   }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Dicom;

      
public async Task AddColorHsvRangeToRegionExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName = @"Image1_AddColorHsvRangeToRegion.bmp";

   // Load the image
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // Add the region
   RasterHsvColor lowerColor = RasterHsvColorHelper.Create(75, 40, 40);
   RasterHsvColor upperColor = RasterHsvColorHelper.Create(95, 255, 255);

   image.AddColorHsvRangeToRegion(lowerColor, upperColor, RasterRegionCombineMode.Set);

   // Draw something on the image
   InvertCommand command = new InvertCommand();
   command.Run(image);

   // Save the image
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
   ILeadStream saveStream = LeadStreamFactory.Create(saveFile);
   await codecs.SaveAsync(image, saveStream, RasterImageFormat.Bmp, 24);

   image.Dispose();
   codecs.Dispose();
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Dicom;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Core;
using Leadtools.ImageProcessing.Color;
using Leadtools.Examples;
using Leadtools.Windows.Media;

public void AddColorHsvRangeToRegionExample(RasterImage image, Stream destStream)
{
   // Add the region
   RasterHsvColor lowerColor = new RasterHsvColor(75, 40, 40);
   RasterHsvColor upperColor = new RasterHsvColor(95, 255, 255);
   image.AddColorHsvRangeToRegion(lowerColor, upperColor, RasterRegionCombineMode.Set);

   // Draw something on the image
   InvertCommand command = new InvertCommand();
   command.Run(image);

   // Save the image
   RasterCodecs codecs = new RasterCodecs();
   codecs.Save(image, destStream, RasterImageFormat.Png, 24);

   image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Dicom
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Core
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Windows.Media

Public Sub AddColorHsvRangeToRegionExample(ByVal image As RasterImage, ByVal destStream As Stream)
   ' Add the region
   Dim lowerColor As RasterHsvColor = New RasterHsvColor(75, 40, 40)
   Dim upperColor As RasterHsvColor = New RasterHsvColor(95, 255, 255)
   image.AddColorHsvRangeToRegion(lowerColor, upperColor, RasterRegionCombineMode.Set)

   ' Draw something on the image
   Dim command As InvertCommand = New InvertCommand()
   command.Run(image)

   ' Save the image
   Dim codecs As RasterCodecs = New RasterCodecs()
   codecs.Save(image, destStream, RasterImageFormat.Png, 24)

   image.Dispose()
End Sub
必要条件

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

参照

参照

RasterImageクラス
RasterImageメンバ
グレースケールイメージ
概要:1ピクセルあたりのビット数と関連知識
LEADTOOLSにおけるカラー値の使用