←Select platform

HistogramEqualizeCommand Class

Summary
Linearizes the number of pixels, in an image, based on the specified color space. This can be used to bring out the detail in dark areas of an image. This function is useful for pre-processing images for the purpose of improving barcode recognition results.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class HistogramEqualizeCommand : RasterCommand 
@interface LTHistogramEqualizeCommand : LTRasterCommand 
public class HistogramEqualizeCommand 
    extends RasterCommand 
public ref class HistogramEqualizeCommand : public RasterCommand   
class HistogramEqualizeCommand(RasterCommand): 
Remarks
  • Previously this class only equalized the number of pixels per gray level, using a gray level representation of the image. This functionality is now obtained by passing HistogramEqualizeType.Gray for the Type property.
  • For the best results, set Type to HistogramEqualizeType.Yuv
  • This class can process the whole image or a region of the image.
  • 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.
  • This command supports signed/unsigned data images.

For more information, refer to Changing Brightness and Contrast.

Histogram Equalize Function - Before

Histogram Equalize Function - Before

Histogram Equalize Function - After

Histogram Equalize Function - After

View additional platform support for this Histogram Equalize function.

Example

Run the HistogramEqualizeCommand on an image and apply histogram equalization with YUV color space.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.Color; 
 
 
public void HistogramEqualizeCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "IMAGE1.CMP")); 
 
   // Prepare the command 
   HistogramEqualizeCommand command = new HistogramEqualizeCommand(); 
   //Histogram equalize the image. 
   command.Type = HistogramEqualizeType.Yuv; 
   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:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.IOException; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.assertTrue; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.color.HistogramEqualizeCommand; 
import leadtools.imageprocessing.color.HistogramEqualizeType; 
 
 
public void histogramEqualizeCommandExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.setThrowExceptionsOnInvalidImages(true); 
 
   RasterImage image = codecs.load(combine(LEAD_VARS_IMAGES_DIR, "IMAGE1.CMP")); 
 
   // Prepare the command 
   HistogramEqualizeCommand command = new HistogramEqualizeCommand(); 
 
   // Histogram equalize the image. 
   command.setType(HistogramEqualizeType.YUV); 
   command.run(image); 
   codecs.save(image, combine(LEAD_VARS_IMAGES_DIR, "Result.jpg"), RasterImageFormat.JPEG, 24); 
 
   assertTrue(new File(combine(LEAD_VARS_IMAGES_DIR, "Result.jpg")).exists()); 
   System.out.println("Command run and image saved to " + combine(LEAD_VARS_IMAGES_DIR, "Result.jpg")); 
} 
Requirements

Target Platforms

See Also

Reference

HistogramEqualizeCommand Members

Leadtools.ImageProcessing.Color Namespace

Changing Brightness and Contrast

ChangeIntensityCommand Class

GammaCorrectCommand Class

ChangeContrastCommand Class

HistogramContrastCommand Class

StretchIntensityCommand Class

RemapIntensityCommand Class

InvertCommand Class

ChangeHueCommand Class

ChangeSaturationCommand 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 23.0.2024.3.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.ImageProcessing.Color Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.