Visual Servoing Platform  version 3.5.0 under development (2022-02-15)
Histogram equalization

Functions

VISP_EXPORT void vp::equalizeHistogram (vpImage< unsigned char > &I)
 
VISP_EXPORT void vp::equalizeHistogram (const vpImage< unsigned char > &I1, vpImage< unsigned char > &I2)
 
VISP_EXPORT void vp::equalizeHistogram (vpImage< vpRGBa > &I, bool useHSV=false)
 
VISP_EXPORT void vp::equalizeHistogram (const vpImage< vpRGBa > &I1, vpImage< vpRGBa > &I2, bool useHSV=false)
 

Detailed Description

Histogram equalization.

Function Documentation

◆ equalizeHistogram() [1/4]

void vp::equalizeHistogram ( vpImage< unsigned char > &  I)

Adjust the contrast of a grayscale image by performing an histogram equalization. The intensity distribution is redistributed over the full [0 - 255] range such as the cumulative histogram distribution becomes linear.

Parameters
I: The grayscale image to apply histogram equalization.
Examples:
testImgproc.cpp, tutorial-brightness-adjustment.cpp, and tutorial-contrast-sharpening.cpp.

Definition at line 165 of file vpImgproc.cpp.

References vpHistogram::calculate(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpImage< Type >::performLut(), and vpMath::round().

Referenced by vp::equalizeHistogram().

◆ equalizeHistogram() [2/4]

void vp::equalizeHistogram ( const vpImage< unsigned char > &  I1,
vpImage< unsigned char > &  I2 
)

Adjust the contrast of a grayscale image by performing an histogram equalization. The intensity distribution is redistributed over the full [0 - 255] range such as the cumulative histogram distribution becomes linear.

Parameters
I1: The first grayscale image.
I2: The second grayscale image after histogram equalization.

Definition at line 227 of file vpImgproc.cpp.

References vp::equalizeHistogram().

◆ equalizeHistogram() [3/4]

void vp::equalizeHistogram ( vpImage< vpRGBa > &  I,
bool  useHSV = false 
)

Adjust the contrast of a color image by performing an histogram equalization. The intensity distribution is redistributed over the full [0 - 255] range such as the cumulative histogram distribution becomes linear. The alpha channel is ignored / copied from the source alpha channel.

Parameters
I: The color image to apply histogram equalization.
useHSV: If true, the histogram equalization is performed on the value channel (in HSV space), otherwise the histogram equalization is performed independently on the RGB channels.

Definition at line 246 of file vpImgproc.cpp.

References vpImage< Type >::bitmap, vp::equalizeHistogram(), vpImage< Type >::getHeight(), vpImage< Type >::getWidth(), vpImageConvert::HSVToRGBa(), vpImageConvert::RGBaToHSV(), and vpImageConvert::split().

◆ equalizeHistogram() [4/4]

void vp::equalizeHistogram ( const vpImage< vpRGBa > &  I1,
vpImage< vpRGBa > &  I2,
bool  useHSV = false 
)

Adjust the contrast of a color image by performing an histogram equalization. The intensity distribution is redistributed over the full [0 - 255] range such as the cumulative histogram distribution becomes linear. The alpha channel is ignored / copied from the source alpha channel.

Parameters
I1: The first color image.
I2: The second color image after histogram equalization.
useHSV: If true, the histogram equalization is performed on the value channel (in HSV space), otherwise the histogram equalization is performed independently on the RGB channels.

Definition at line 321 of file vpImgproc.cpp.

References vp::equalizeHistogram().