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



Uses a lookup table to change an image's intensity values. You can apply the change to red, green, blue, or all color channels.

Syntax

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

Example

Run the RemapIntensityCommand on an image.

Visual BasicCopy Code
Public Sub RemapIntensityCommandExample()
   RasterCodecs.Startup()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True

   Dim leadImage As RasterImage = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "Master.jpg")

   ' Prepare the command
   'This example will darken loaded image by using lookup table affected by exponential function.
   Dim LookupTable() As Integer ' Array to hold lookup table.
   ReDim LookupTable(255)

   'Get Lookup table where the array calculated by the linear function for all the items of the array is from 0 - 255.
   LookupTable(0) = 255
   LookupTable(255) = 0

   EffectsUtilities.GetFunctionalLookupTable(LookupTable, 0, 255, 5, FunctionalLookupTableFlags.Linear)

   Dim command As RemapIntensityCommand = New RemapIntensityCommand
   command.Flags = RemapIntensityCommandFlags.Master
   command.LookupTable = LookupTable

   command.Run(leadImage)
   codecs.Save(leadImage, LeadtoolsExamples.Common.ImagesPath.Path + "Result.jpg", RasterImageFormat.Jpeg, 24)

   RasterCodecs.Shutdown()
End Sub
C#Copy Code
public void RemapIntensityCommandExample() 

   // Load an image 
   RasterCodecs.Startup(); 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "Master.jpg"); 
 
   // Prepare the command 
   //This example will darken loaded image by using lookup table affected by exponential function. 
   int[] LookupTable = new int[256]; // Array to hold lookup table. 
 
   //Get Lookup table where the array calculated by the linear function for all the items of the array is from 0 - 255. 
   LookupTable[0] = 255; 
   LookupTable[255] = 0;  
 
   EffectsUtilities.GetFunctionalLookupTable(LookupTable, 0, 255, 5, FunctionalLookupTableFlags.Linear); 
 
   RemapIntensityCommand command = new RemapIntensityCommand(); 
   command.Flags = RemapIntensityCommandFlags.Master; 
   command.LookupTable = LookupTable; 
   command.Run(image); 
   codecs.Save(image, LeadtoolsExamples.Common.ImagesPath.Path + "Result.jpg", RasterImageFormat.Jpeg, 24); 
 
   RasterCodecs.Shutdown(); 
}

Remarks

  • The current intensity values correspond to the table indexes. The values of the entries are the new values to be applied.
  • This command supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available only in the Document/Medical toolkits.
  • The image intensity level range depends on the resolution of the image. For 64-bit, 48-bit, and 16-bit images, the intensity levels range from 0 to 2^16-1. For 12-bit images, the intensity levels range from 0 to 2^12-1. For other resolutions, the intensity levels range from 0 to 255.
  • Be sure that LookupTable property contains the number of the image intensity levels. For example if the image is 16-bit (the maximum image intensity level is 2^16 - 1).
  • This command supports signed data images.
  • This command does not support 32-bit grayscale images.
For more information, refer to Changing Brightness and Contrast.

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.RasterCommand
      Leadtools.ImageProcessing.Color.RemapIntensityCommand

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