---
title: "HistogramEqualize Class"
canonical: https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Transforms_HistogramEqualize.htm
archived: false
applies_to:
  - product: "Graphics Mill"
    versions: ["12.1", "6.x-12.x (may differ)"]
    entity_id: "https://www.graphicsmill.com/#software-application"
---

# HistogramEqualize Class

**Applies to:** Graphics Mill 12.1, 6.x-12.x (may differ)
 
Applies a histogram equalization.
 
Applies a histogram equalization.
 
**Namespace:** [Aurigma.GraphicsMill.Transforms](https://www.graphicsmill.com/docs/gm/N_Aurigma_GraphicsMill_Transforms.htm.md)
 **Assembly:** Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
 
## Syntax
  
```csharp
public sealed class HistogramEqualize : MaskTransform
```
 
## Remarks
  
Histogram equalization algorithm is used for automatically enhancing the image contrast. As usual it makes the image too posterized, that's why it is seldom used to with photos (you should use [Contrast](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Transforms_Contrast.htm.md) effect with [Auto](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Transforms_Contrast_Auto.htm.md) property set to `true`). However it suits for scientific tasks (as a preparation before applying some specific algorithm like vectorization, recognition, etc).
 
The main idea of this algorithm is to build a look-up table (LUT) which makes the bitmap histogram equalized (all histogram entries are equal each other). Actually the histogram is never equalized absolutely, however this algorithm makes it as much as possible. After that this LUT is applied using [LutTransform](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Transforms_LutTransform.htm.md) class.
 
This class enables you to use not only histogram of the source bitmap, but any other histogram too. In this case algorithm will build the LUT for this histogram, but apply this LUT on the source bitmap. To specify another histogram, use property [Histogram](https://www.graphicsmill.com/docs/gm/P_Aurigma_GraphicsMill_Transforms_HistogramEqualize_Histogram.htm.md). If you want to get a histogram from the bitmap automatically, set `null` to this property.
 
## Inheritance Hierarchy
  
- System.Object
    - [Aurigma.GraphicsMill.PipelineElement](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_PipelineElement.htm.md)
        - [Aurigma.GraphicsMill.Transforms.Transform](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Transforms_Transform.htm.md)
            - [Aurigma.GraphicsMill.Transforms.MaskTransform](https://www.graphicsmill.com/docs/gm/T_Aurigma_GraphicsMill_Transforms_MaskTransform.htm.md)
                - Aurigma.GraphicsMill.Transforms.HistogramEqualize
 
## Thread Safety
 Static members of this type are not safe for multi-threaded operations. Instance members of this type are not safe for multi-threaded operations.
 
## Thread Safety
 Static members of this type are not safe for multi-threaded operations. Instance members of this type are not safe for multi-threaded operations.
   
## See Also

### Reference

- [HistogramEqualize Members](https://www.graphicsmill.com/docs/gm/AllMembers_T_Aurigma_GraphicsMill_Transforms_HistogramEqualize.htm.md)
- [Aurigma.GraphicsMill.Transforms Namespace](https://www.graphicsmill.com/docs/gm/N_Aurigma_GraphicsMill_Transforms.htm.md)
