←Select platform

HistogramContrastCommand Class

Summary

Increases or decreases the contrast of the image, using a histogram to determine the median brightness.

Syntax
C#
VB
Java
Objective-C
C++
public class HistogramContrastCommand : RasterCommand 
Public Class HistogramContrastCommand  
   Inherits RasterCommand 
@interface LTHistogramContrastCommand : LTRasterCommand 
public class HistogramContrastCommand extends RasterCommand 
public ref class HistogramContrastCommand : public RasterCommand   

Remarks
  • This class finds the median brightness of the image, then brightens the pixels with values above the median and darkens the pixels with values below the median. This is more sophisticated (but slower) than the ChangeContrastCommand, which uses the middle possible value (128) rather than finding the actual median.
  • This class 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.
  • This command does not support 32-bit grayscale images.

For more information, refer to Changing Brightness and Contrast.

If the image has a LUT and you want to work on the image data, set RasterImage.UseLookupTable to false. Then, after calling the method, reset the UselookupTable property to true, as follows:

rasterImage.UseLookupTable = false; 
Method(rasterImage); 
rasterImage.UseLookupTable = true; 

Example

Run the HistogramContrastCommand on an image and increase its contrast.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Color; 
 
public void HistogramContrastCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")); 
 
   // Prepare the command 
   HistogramContrastCommand command = new HistogramContrastCommand(); 
   //Increase the contrast using the histogram by 25 percent of the possible range. 
   command.Contrast = 250; 
   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.Color 
 
Public Sub HistogramContrastCommandExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")) 
 
   ' Prepare the command 
   Dim command As HistogramContrastCommand = New HistogramContrastCommand 
   'Increase the contrast using the histogram by 25 percent of the possible range. 
   command.Contrast = 250 
 
   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.Color; 
using Leadtools.Examples; 
 
public void HistogramContrastCommandExample(RasterImage image, Stream outStream) 
{ 
   // Prepare the command 
   HistogramContrastCommand command = new HistogramContrastCommand(); 
   //Increase the contrast using the histogram by 25 percent of the possible range. 
   command.Contrast = 250; 
   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.Color 
 
Public Sub HistogramContrastCommandExample(ByVal image As RasterImage, ByVal outStream As Stream) 
   ' Prepare the command 
   Dim command As HistogramContrastCommand = New HistogramContrastCommand() 
   'Increase the contrast using the histogram by 25 percent of the possible range. 
   command.Contrast = 250 
   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

HistogramContrastCommand Members

Leadtools.ImageProcessing.Color Namespace

Changing Brightness and Contrast

ChangeIntensityCommand Class

GammaCorrectCommand Class

ChangeContrastCommand Class

StretchIntensityCommand Class

RemapIntensityCommand 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

AdjustTintCommand Class

GammaCorrectCommand Class

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