| OpenCV 5.0.0alpha Open Source Computer Vision

Loading...
Searching...
No Matches
Public Member Functions | List of all members
cv::xphoto::GrayworldWB Class Referenceabstract
Additional photo processing algorithms

Gray-world white balance algorithm. More...

`#include <opencv2/xphoto/white_balance.hpp>`

Collaboration diagram for cv::xphoto::GrayworldWB:

## Public Member Functions
virtual float | getSaturationThreshold () const =0
| Maximum saturation for a pixel to be included in the gray-world assumption.
virtual void | setSaturationThreshold (float val)=0
| Maximum saturation for a pixel to be included in the gray-world assumption.
Public Member Functions inherited from cv::xphoto::WhiteBalancer
virtual void | balanceWhite (InputArray src, OutputArray dst)=0
| Applies white balancing to the input image.
Public Member Functions inherited from cv::Algorithm
| Algorithm ()
virtual | ~Algorithm ()
virtual void | clear ()
| Clears the algorithm state.
virtual bool | empty () const
| Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
virtual String | getDefaultName () const
virtual void | read (const FileNode &fn)
| Reads algorithm parameters from a file storage.
virtual void | save (const String &filename) const
virtual void | write (FileStorage &fs) const
| Stores algorithm parameters in a file storage.
void | write (FileStorage &fs, const String &name) const

## Additional Inherited Members
Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tp > | load (const String &filename, const String &objname=String())
| Loads algorithm from the file.
template<typename _Tp >
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String())
| Loads algorithm from a String.
template<typename _Tp >
static Ptr< _Tp > | read (const FileNode &fn)
| Reads algorithm from the file node.
Protected Member Functions inherited from cv::Algorithm
void | writeFormat (FileStorage &fs) const

## Detailed Description

Gray-world white balance algorithm.

This algorithm scales the values of pixels based on a gray-world assumption which states that the average of all channels should result in a gray image.

It adds a modification which thresholds pixels based on their saturation value and only uses pixels below the provided threshold in finding average pixel values.

Saturation is calculated using the following for a 3-channel RGB image per pixel I and is in the range [0, 1]:

\[ \texttt{Saturation} [I] = \frac{\textrm{max}(R,G,B) - \textrm{min}(R,G,B) }{\textrm{max}(R,G,B)} \]

A threshold of 1 means that all pixels are used to white-balance, while a threshold of 0 means no pixels are used. Lower thresholds are useful in white-balancing saturated images.

Currently supports images of type CV_8UC3 and CV_16UC3.

## Member Function Documentation

## ◆ getSaturationThreshold()

virtual float cv::xphoto::GrayworldWB::getSaturationThreshold | ( |  | ) | const
| pure virtual

Python:
| cv.xphoto.GrayworldWB.getSaturationThreshold( |  | ) -> | retval

Maximum saturation for a pixel to be included in the gray-world assumption.

See also
  setSaturationThreshold

## ◆ setSaturationThreshold()

virtual void cv::xphoto::GrayworldWB::setSaturationThreshold | ( | float | val | ) |
| pure virtual

Python:
| cv.xphoto.GrayworldWB.setSaturationThreshold( | val | ) -> | None

Maximum saturation for a pixel to be included in the gray-world assumption.

See also
  getSaturationThreshold

The documentation for this class was generated from the following file:

- opencv2/xphoto/white_balance.hpp