The Normalize module stretches an image's pixel values to cover the entire pixel value range (0-255).

The function processes each color band (RGB) and determines the minimum and maximum value in each of the three color bands. Once these values are computed the image is reprocessed by subtracting the minimum value of each band from each pixel and dividing by its max-min range (3 times for each RGB pixel). This has the effect of stretching the pixel value to the full 0-255 pixel value range. Visually the image appears to have increased in contrast.




Normalization is a good tool to combat lighting changes as the camera moves. Many filters rely on absolute pixel values (such as threshold) that are easily changed in different lighting conditions. Normalization is one of the tools used to reduce this sensitivity to lighting conditions.



1. Channel - Specify which channels (color and/or intensity) should be modified by the normalization module.

2. Sample Area - Specify which area is checked when performing the histogram equalization.

Global Area - consider the entire image when performing histogram normalization.
Local Area - consider a 20x20 area when performing histogram normalization. Note that this selection will execute VERY SLOWLY due to the per pixel computational requirements.
Vertical - consider the vertical column when performing histogram normalization.
Horizontal - consider the horizontal column when performing histogram normalization.
Custom - create your own block sizes. The 'Area of Consideration' specifies the window size of those pixels that will contribute to the normalization process. The 'Area of Modification' specifies the window of those pixels that will be modified based on the min/max values calculated from the 'Area of Consideration'. The two window sizes allow you to specify an overlapping processing which can help to smooth the individual results better.

3. Weight - specifies how much normalization the image should receive. At 100% the image is changed to the normalized values. At 20% the image pixels are changed by 20% towards the normalized values. The weighting is most useful when in the "Local Area" mode since a 100% normalization can produce undesired effects.

4. Ignore - specify the lower percent values of the histogram in which to ignore when determining the minimum and maximum levels to use in normalization. At 5% any pixels that are less than 5% in count relative to the maximum pixel count is ignored and not considered for the minimum and maximum range. This allows low pixel counts to be ignored during normalization. For example, this helps to prevent a single white pixel from forcing the maximum normalization value to be 255.

5. Min/Max - enforces limits on how wide the min and max range of the pixel values will be. For images that require normalization only in the high white pixels you can decrease the Max value which according to the above formula will limit the amount of normalization that can occur. The effect (similar to the Ignore setting) will reduce normalization noise in lower/darker pixels.


Source ImageLocal Normalized Image at 80% weight
Intensity Only Normalized Image

See Also


 New Post 

Normalize Related Forum PostsLast postPostsViews