OpenCV  3.3.0
Open Source Computer Vision
Public Member Functions | List of all members
cv::xphoto::GrayworldWB Class Referenceabstract

Gray-world white balance algorithm. More...

#include "white_balance.hpp"

Inheritance diagram for cv::xphoto::GrayworldWB:
cv::xphoto::WhiteBalancer cv::Algorithm

Public Member Functions

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

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. More...
 
template<typename _Tp >
static Ptr< _Tp > loadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String. More...
 
template<typename _Tp >
static Ptr< _Tp > read (const FileNode &fn)
 Reads algorithm from the file node. More...
 
- 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

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

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: