LEADTOOLS Image Processing (Leadtools.ImageProcessing.Color assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
HistogramContrastCommand Class
See Also  Members  



Increases or decreases the contrast of the image, using a histogram to determine the median brightness. Supported in Silverlight, Windows Phone 7

Object Model

HistogramContrastCommand Class

Syntax

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

Example

Run the Leadtools.ImageProcessing.Color.HistogramContrastCommand on an image and increase its contrast.

Visual BasicCopy Code
Public Sub HistogramContrastCommandExample()
   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 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#Copy Code
public void HistogramContrastCommandExample()
   {
      // Load an image
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

      RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));

      // 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";
}
SilverlightCSharpCopy Code
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();
}
SilverlightVBCopy Code
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

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 Leadtools.ImageProcessing.Color.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;
            

Inheritance Hierarchy

System.Object
   Leadtools.ImageProcessing.RasterCommand
      Leadtools.ImageProcessing.Color.HistogramContrastCommand

Requirements

Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)

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