OpenCV: Histogram Calculation

| OpenCV 3.4.2 Open Source Computer Vision

Classes | Functions
Histogram Calculation
Core functionality » OpenGL interoperability » CUDA-accelerated Computer Vision » Image Processing

## Classes
class | cv::cuda::CLAHE
| Base class for Contrast Limited Adaptive Histogram Equalization. : More...

## Functions
void | cv::cuda::calcHist (InputArray src, OutputArray hist, Stream &stream=Stream::Null())
| Calculates histogram for one channel 8-bit image. More...
void | cv::cuda::calcHist (InputArray src, InputArray mask, OutputArray hist, Stream &stream=Stream::Null())
| Calculates histogram for one channel 8-bit image confined in given mask. More...
Ptr< cuda::CLAHE > | cv::cuda::createCLAHE (double clipLimit=40.0, Size tileGridSize=Size(8, 8))
| Creates implementation for cuda::CLAHE . More...
void | cv::cuda::equalizeHist (InputArray src, OutputArray dst, Stream &stream=Stream::Null())
| Equalizes the histogram of a grayscale image. More...
void | cv::cuda::evenLevels (OutputArray levels, int nLevels, int lowerLevel, int upperLevel, Stream &stream=Stream::Null())
| Computes levels with even distribution. More...
void | cv::cuda::histEven (InputArray src, OutputArray hist, int histSize, int lowerLevel, int upperLevel, Stream &stream=Stream::Null())
| Calculates a histogram with evenly distributed bins. More...
void | cv::cuda::histEven (InputArray src, GpuMat hist[4], int histSize[4], int lowerLevel[4], int upperLevel[4], Stream &stream=Stream::Null())
void | cv::cuda::histRange (InputArray src, OutputArray hist, InputArray levels, Stream &stream=Stream::Null())
| Calculates a histogram with bins determined by the levels array. More...
void | cv::cuda::histRange (InputArray src, GpuMat hist[4], const GpuMat levels[4], Stream &stream=Stream::Null())

## Detailed Description

## Function Documentation

## ◆ calcHist() [1/2]

void cv::cuda::calcHist | ( | InputArray | src,
|  | OutputArray | hist,
|  | Stream & | stream = `Stream::Null()`
| ) |  |

Calculates histogram for one channel 8-bit image.

Parameters

  src | Source image with CV_8UC1 type.
  hist | Destination histogram with one row, 256 columns, and the CV_32SC1 type.
  stream | Stream for the asynchronous version.

## ◆ calcHist() [2/2]

void cv::cuda::calcHist | ( | InputArray | src,
|  | InputArray | mask,
|  | OutputArray | hist,
|  | Stream & | stream = `Stream::Null()`
| ) |  |

Calculates histogram for one channel 8-bit image confined in given mask.

Parameters

  src | Source image with CV_8UC1 type.
  hist | Destination histogram with one row, 256 columns, and the CV_32SC1 type.
  mask | A mask image same size as src and of type CV_8UC1.
  stream | Stream for the asynchronous version.

## ◆ createCLAHE()

Ptr<cuda::CLAHE> cv::cuda::createCLAHE | ( | double | clipLimit = `40.0`,
|  | Size | tileGridSize = `Size(8, 8)`
| ) |  |

Creates implementation for cuda::CLAHE .

Parameters

  clipLimit | Threshold for contrast limiting.
  tileGridSize | Size of grid for histogram equalization. Input image will be divided into equally sized rectangular tiles. tileGridSize defines the number of tiles in row and column.

## ◆ equalizeHist()

void cv::cuda::equalizeHist | ( | InputArray | src,
|  | OutputArray | dst,
|  | Stream & | stream = `Stream::Null()`
| ) |  |

Equalizes the histogram of a grayscale image.

Parameters

  src | Source image with CV_8UC1 type.
  dst | Destination image.
  stream | Stream for the asynchronous version.

See also
  equalizeHist

## ◆ evenLevels()

void cv::cuda::evenLevels | ( | OutputArray | levels,
|  | int | nLevels,
|  | int | lowerLevel,
|  | int | upperLevel,
|  | Stream & | stream = `Stream::Null()`
| ) |  |

Computes levels with even distribution.

Parameters

  levels | Destination array. levels has 1 row, nLevels columns, and the CV_32SC1 type.
  nLevels | Number of computed levels. nLevels must be at least 2.
  lowerLevel | Lower boundary value of the lowest level.
  upperLevel | Upper boundary value of the greatest level.
  stream | Stream for the asynchronous version.

## ◆ histEven() [1/2]

void cv::cuda::histEven | ( | InputArray | src,
|  | OutputArray | hist,
|  | int | histSize,
|  | int | lowerLevel,
|  | int | upperLevel,
|  | Stream & | stream = `Stream::Null()`
| ) |  |

Calculates a histogram with evenly distributed bins.

Parameters

  src | Source image. CV_8U, CV_16U, or CV_16S depth and 1 or 4 channels are supported. For a four-channel image, all channels are processed separately.
  hist | Destination histogram with one row, histSize columns, and the CV_32S type.
  histSize | Size of the histogram.
  lowerLevel | Lower boundary of lowest-level bin.
  upperLevel | Upper boundary of highest-level bin.
  stream | Stream for the asynchronous version.

## ◆ histEven() [2/2]

void cv::cuda::histEven | ( | InputArray | src,
|  | GpuMat | hist[4],
|  | int | histSize[4],
|  | int | lowerLevel[4],
|  | int | upperLevel[4],
|  | Stream & | stream = `Stream::Null()`
| ) |  |

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

## ◆ histRange() [1/2]

void cv::cuda::histRange | ( | InputArray | src,
|  | OutputArray | hist,
|  | InputArray | levels,
|  | Stream & | stream = `Stream::Null()`
| ) |  |

Calculates a histogram with bins determined by the levels array.

Parameters

  src | Source image. CV_8U , CV_16U , or CV_16S depth and 1 or 4 channels are supported. For a four-channel image, all channels are processed separately.
  hist | Destination histogram with one row, (levels.cols-1) columns, and the CV_32SC1 type.
  levels | Number of levels in the histogram.
  stream | Stream for the asynchronous version.

## ◆ histRange() [2/2]

void cv::cuda::histRange | ( | InputArray | src,
|  | GpuMat | hist[4],
|  | const GpuMat | levels[4],
|  | Stream & | stream = `Stream::Null()`
| ) |  |

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.