←Select platform

RemapIntensityCommand Class

Summary

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
C#
VB
Java
Objective-C
C++
public class RemapIntensityCommand : RasterCommand 
Public Class RemapIntensityCommand  
   Inherits RasterCommand 
@interface LTRemapIntensityCommand : LTRasterCommand 
public class RemapIntensityCommand extends RasterCommand 
public ref class RemapIntensityCommand : public RasterCommand   

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 can be used to implement end user features such as Photoshop Curves.
  • This command supports signed data images.
  • This command does not support 32-bit grayscale images.

For more information, refer to Changing Brightness and Contrast.

Example

Run the RemapIntensityCommand on an image.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.ImageProcessing.Effects; 
 
public void RemapIntensityCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "sample5.cmp")); 
 
   // 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, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24); 
 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.ImageProcessing.Effects 
 
Public Sub RemapIntensityCommandExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "sample5.cmp")) 
 
   ' 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, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24) 
 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
c#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.ImageProcessing.Effects; 
using Leadtools.Examples; 
 
public void RemapIntensityCommandExample(RasterImage image, Stream outStream) 
{ 
   // 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); 
 
   // Save result image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24); 
   image.Dispose(); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.ImageProcessing.Color 
Imports Leadtools.ImageProcessing.Effects 
 
Public Sub RemapIntensityCommandExample(ByVal image As RasterImage, ByVal outStream As Stream) 
   ' Prepare the command 
   'This example will darken loaded image by using lookup table affected by exponential function. 
   Dim LookupTable As Integer() = New Integer(255) {} ' 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) 
   Dim command As RemapIntensityCommand = New RemapIntensityCommand() 
   command.Flags = RemapIntensityCommandFlags.Master 
   command.LookupTable = LookupTable 
   command.Run(image) 
 
   ' Save result image 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24) 
   image.Dispose() 
End Sub 

Requirements

Target Platforms

See Also

Reference

RemapIntensityCommand Members

Leadtools.ImageProcessing.Color Namespace

Changing Brightness and Contrast

Leadtools.ImageProcessing.RasterColorChannel

Leadtools.ImageProcessing.RasterColorChannel

Leadtools.ImageProcessing.Effects.EffectsUtilities.GetUserLookupTable(System.Int32[],Leadtools.LeadPoint[])

Leadtools.ImageProcessing.Effects.EffectsUtilities.GetFunctionalLookupTable(System.Int32[],System.Int32,System.Int32,System.Int32,Leadtools.ImageProcessing.Effects.FunctionalLookupTableFlags)

ChangeIntensityCommand Class

GammaCorrectCommand Class

ChangeContrastCommand Class

HistogramContrastCommand Class

StretchIntensityCommand Class

InvertCommand Class

ChangeHueCommand Class

ChangeSaturationCommand Class

HistogramEqualizeCommand Class

Leadtools.ImageProcessing.FillCommand

HistogramCommand Class

Leadtools.ImageProcessing.Core.WindowLevelCommand

ChannelMixerCommand Class

Leadtools.ImageProcessing.Effects.DeinterlaceCommand

DesaturateCommand Class

Leadtools.ImageProcessing.Effects.EdgeDetectStatisticalCommand

LightControlCommand Class

Leadtools.ImageProcessing.Effects.SmoothEdgesCommand

LocalHistogramEqualizeCommand Class

AddWeightedCommand Class

ColorMergeCommand Class

ColorSeparateCommand Class

MultiplyCommand Class

AutoColorLevelCommand Class

ColorLevelCommand Class

Leadtools.ImageProcessing.Core.CorrelationListCommand

GrayScaleToDuotoneCommand Class

GrayScaleToMultitoneCommand Class

Leadtools.ImageProcessing.Core.HolePunchRemoveCommand

SelectiveColorCommand Class

Leadtools.ImageProcessing.Effects.SkeletonCommand

ChangeHueSaturationIntensityCommand Class

ColorReplaceCommand Class

ColorThresholdCommand Class

MathematicalFunctionCommand Class

SegmentCommand Class

AdaptiveContrastCommand Class

ApplyMathematicalLogicCommand Class

ColorIntensityBalanceCommand Class

Leadtools.ImageProcessing.Core.ColorizeGrayCommand

ContrastBrightnessIntensityCommand Class

Leadtools.ImageProcessing.Core.DigitalSubtractCommand

DynamicBinaryCommand Class

Leadtools.ImageProcessing.Effects.EdgeDetectEffectCommand

Leadtools.ImageProcessing.SpecialEffects.FunctionalLightCommand

Leadtools.ImageProcessing.Core.MultiscaleEnhancementCommand

Leadtools.ImageProcessing.Core.SelectDataCommand

Leadtools.ImageProcessing.Core.ShiftDataCommand

Help Version 20.0.2019.3.11
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Color Assembly