←Select platform

GetUserLookupTable Method

Summary

Updates the lookup table, based on a curve that passes through the specified points.

Syntax
C#
VB
Objective-C
C++
Java
public static int GetUserLookupTable( 
   int[] lookupTable, 
   LeadPoint[] userPoints 
) 
Public Shared Function GetUserLookupTable( _ 
   ByVal lookupTable() As Integer, _ 
   ByVal userPoints() As LeadPoint _ 
) As Integer 
+ (NSUInteger)getUserLookupTable:(unsigned int *)lookupTable 
               lookupTableLength:(NSUInteger)lookupTableLength 
                      userPoints:(const LeadPoint *)userPoints 
                 userPointsCount:(NSUInteger)userPointsCount 
                           error:(NSError **)error 
public static int getUserLookupTable( 
   int[] lookupTable,  
   LeadPoint[] userPoints 
) 
public: 
static int GetUserLookupTable(  
   array<int>^ lookupTable, 
   array<LeadPoint>^ userPoints 
)  

Parameters

lookupTable
Lookup table array to be filled by this method.

userPoints
Array of LeadPoint structures that contain the points on the curve used to update the lookup table.

Return Value

return the number of entries in the lookup table array that were actually updated by this method.

Remarks
  • This method will update the lookup table array using the best curve that passes through the points specified in the userPoint array. The points in the array do not need to be sorted. In most cases, this method is used with the RemapIntensityCommand method.
  • The length of the lookup table array depends upon the number of bits being used, as follows:

    Value Meaning
    65536 16-bit / sample image
    4096 12-bit / sample image
    256 256 8-bit / sample image

Example

This example will brighten the loaded bitmap using the lookup table updated by the GetUserLookupTable method.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Effects; 
using Leadtools.ImageProcessing.Color; 
 
public void GetUserLookupTableExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")); 
 
   // Prepare the command 
   int[] LookupTable = new int[256]; 
   LeadPoint[] UserPoint = new LeadPoint[3]; 
   UserPoint[0] = new LeadPoint(0, 0); 
   UserPoint[1] = new LeadPoint(128, 150); 
   UserPoint[2] = new LeadPoint(255, 255); 
 
   //Get Lookup table where the array effected by user data method. 
   EffectsUtilities.GetUserLookupTable(LookupTable, UserPoint); 
   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 GetUserLookupTableExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")) 
 
   ' Prepare the command 
   Dim LookupTable() As Integer 
   ReDim LookupTable(255) 
   Dim UserPoint() As LeadPoint 
   ReDim UserPoint(2) 
 
   UserPoint(0) = New LeadPoint(0, 0) 
   UserPoint(1) = New LeadPoint(128, 150) 
   UserPoint(2) = New LeadPoint(255, 255) 
 
   'Get Lookup table where the array effected by user data method. 
   EffectsUtilities.GetUserLookupTable(LookupTable, UserPoint) 
   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.Effects; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Examples; 
 
public void GetUserLookupTableExample(RasterImage image, Stream outStream) 
{ 
   // Prepare the command 
   int[] LookupTable = new int[256]; 
   LeadPoint[] UserPoint = new LeadPoint[3]; 
   UserPoint[0] = new LeadPoint(0, 0); 
   UserPoint[1] = new LeadPoint(128, 150); 
   UserPoint[2] = new LeadPoint(255, 255); 
 
   //Get Lookup table where the array effected by user data method. 
   EffectsUtilities.GetUserLookupTable(LookupTable, UserPoint); 
   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.Effects 
Imports Leadtools.ImageProcessing.Color 
 
Public Sub GetUserLookupTableExample(ByVal image As RasterImage, ByVal outStream As Stream) 
   ' Prepare the command 
   Dim LookupTable As Integer() = New Integer(255) {} 
   Dim UserPoint As LeadPoint() = New LeadPoint(2) {} 
   UserPoint(0) = New LeadPoint(0, 0) 
   UserPoint(1) = New LeadPoint(128, 150) 
   UserPoint(2) = New LeadPoint(255, 255) 
 
   'Get Lookup table where the array effected by user data method. 
   EffectsUtilities.GetUserLookupTable(LookupTable, UserPoint) 
   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

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

Leadtools.ImageProcessing.Effects Assembly