Leadtools.ImageProcessing.Color Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.12.10
ColorThresholdCommand Class
See Also  Members   Example 




Using any one of eight color spaces, resets those image's pixel component values that fall inside or outside of a specified range.

Object Model


Syntax

Visual Basic (Declaration) 
Public Class ColorThresholdCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
Visual Basic (Usage)Copy Code
Dim instance As ColorThresholdCommand
C# 
public class ColorThresholdCommand : RasterCommand, IRasterCommand  
Managed Extensions for C++ 
public __gc class ColorThresholdCommand : public RasterCommand, IRasterCommand  
C++/CLI 
public ref class ColorThresholdCommand : public RasterCommand, IRasterCommand  

Example

Visual BasicCopy Code
ImageProcessing.Color.ColorThresholdCommand
   Public Sub ColorThresholdCommandExample()
      RasterCodecs.Startup()
      Dim codecs As New RasterCodecs()
      codecs.ThrowExceptionsOnInvalidImages = True

      Dim leadImage As RasterImage = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Master.jpg")

      ' Prepare the command
      Dim components() As ColorThresholdCommandComponent
      ReDim components(2)
      components(0) = New ColorThresholdCommandComponent
      components(1) = New ColorThresholdCommandComponent
      components(2) = New ColorThresholdCommandComponent

      components(0).MinimumRange = 128
      components(0).MaximumRange = 255
      components(0).Flags = 0
      components(1).MinimumRange = 128
      components(1).MaximumRange = 255
      components(1).Flags = 0
      components(2).MinimumRange = 128
      components(2).MaximumRange = 255
      components(2).Flags = 0
      Dim command As ColorThresholdCommand = New ColorThresholdCommand(ColorThresholdCommandType.Rgb, components)
      'Apply color Threshold effect on the image.
      command.Run(leadImage)
      codecs.Save(leadImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Result.jpg", RasterImageFormat.Jpeg, 24)

      RasterCodecs.Shutdown()
   End Sub
C#Copy Code
ImageProcessing.Color.ColorThresholdCommand 
      public void ColorThresholdCommandExample() 
      { 
         // Load an image 
         RasterCodecs.Startup(); 
         RasterCodecs codecs = new RasterCodecs(); 
         codecs.ThrowExceptionsOnInvalidImages = true; 
 
         RasterImage image = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Master.jpg"); 
 
         // Prepare the command 
         ColorThresholdCommandComponent[] Components = new ColorThresholdCommandComponent[3]; 
 
         Components[0] = new ColorThresholdCommandComponent(); 
         Components[0].MinimumRange = 128; 
         Components[0].MaximumRange = 255; 
         Components[0].Flags        = 0; 
         Components[1] = new ColorThresholdCommandComponent(); 
         Components[1].MinimumRange = 128; 
         Components[1].MaximumRange = 255; 
         Components[1].Flags        = 0; 
         Components[2] = new ColorThresholdCommandComponent(); 
         Components[2].MinimumRange = 128; 
         Components[2].MaximumRange = 255; 
         Components[2].Flags        = 0; 
 
         ColorThresholdCommand command = new ColorThresholdCommand(ColorThresholdCommandType.Rgb, Components); 
         //Apply color Threshold effect on the image. 
         command.Run(image); 
         codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Result.jpg", RasterImageFormat.Jpeg, 24); 
 
         RasterCodecs.Shutdown(); 
      }

Remarks

Every color space component may have a different range:
Color ComponentRange for 8 bit per component.Range for 16 bit per component.
RGB
R 0 ... 255 0 ... 65535
G 0 ... 255 0 ... 65535
B 0 ... 255 0 ... 65535
HSV
H 0 ... 360 0 ... 36000
S 0 ... 100 0 ... 10000
V 0 ... 255 0 ... 65535
HLS
H 0 ... 360 0 ... 36000
L 0 ... 255 0 ... 65535
S 0 ... 100 0 ... 10000
XYZ
X 0 ... 255 0 ... 65535
Y 0 ... 255 0 ... 65535
Z 0 ... 255 0 ... 65535
YCrCb
Y 0 ... 255 0 ... 65535
Cr -128 ... 127 -32768 ... 32767
Cb -128 ... 127 -32768 ... 32767
YUV
Y 0 ... 255 0 ... 65535
U -112 ... 111 -28567 ... 28566
V -138 ... 137 -35337 ... 35336
LAB
L 0 ... 100 0 ... 10000
A -128 ... 127 -32768 ... 32767
B -128 ... 127 -32768 ... 32767
CMY
C 0 ... 255 0 ... 65535
M 0 ... 255 0 ... 65535
Y 0 ... 255 0 ... 65535


This class works as follows:
  1. The image is converted to the required color space.
  2. For every pixel, the following operations are performed: Each component is compared with the MinimumRange and MaximumRange values of the appropriate ColorThresholdCommandComponent class.
    • If it is inside the range, the component is considered to have "passed" the test.
    • If it is outside the range, the component has been rejected". The ColorThresholdCommandFlags.BandReject flag inverts this by making "rejected" components "passed" and viceversa.
  3. If ColorThresholdCommandFlags.EffectChannel is set, the components are modified independently. If ColorThresholdCommandFlags.EffectAll has been set, the pixel is rejected by the test if any component is rejected. If the pixel/component is rejected, then:
  • This class works for 1, 2, 3, _ 8,16, 24, 32, 48 and 64-bit color images and can support regions for 24 and 48-bit images. If a 24 or 48-bit image has a region the effect will be applied on the region only.
  • One class is used for each color component. The order is considered to be the same as in the xxx Space name. For example, for Rgb Space:
    • Components[0] class is used for the Red component.
    • Components[1] class is used for the Green component.
    • Components[2] class is used for the Blue component.
  • This command does not support 32-bit grayscale images.
  • This command does not support signed images.

For more information, refer to Processing an Image.
For more information, refer to Correcting Colors.

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.RasterCommand
      Leadtools.ImageProcessing.Color.ColorThresholdCommand

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also