OpenCV for Unity  2.6.0
Enox Software / Please refer to OpenCV official document ( http://docs.opencv.org/4.9.0/index.html ) for the details of the argument of the method.
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
OpenCVForUnity.XphotoModule.LearningBasedWB Class Reference

More sophisticated learning-based automatic white balance algorithm. More...

Inheritance diagram for OpenCVForUnity.XphotoModule.LearningBasedWB:
OpenCVForUnity.XphotoModule.WhiteBalancer OpenCVForUnity.CoreModule.Algorithm OpenCVForUnity.DisposableOpenCVObject OpenCVForUnity.DisposableObject

Public Member Functions

void extractSimpleFeatures (Mat src, Mat dst)
 Implements the feature extraction part of the algorithm. More...
 
int getRangeMaxVal ()
 Maximum possible value of the input image (e.g. 255 for 8 bit images, 4095 for 12 bit images) More...
 
void setRangeMaxVal (int val)
 
float getSaturationThreshold ()
 Threshold that is used to determine saturated pixels, i.e. pixels where at least one of the channels exceeds \(\texttt{saturation_threshold}\times\texttt{range_max_val}\) are ignored. More...
 
void setSaturationThreshold (float val)
 
int getHistBinNum ()
 Defines the size of one dimension of a three-dimensional RGB histogram that is used internally by the algorithm. It often makes sense to increase the number of bins for images with higher bit depth (e.g. 256 bins for a 12 bit image). More...
 
void setHistBinNum (int val)
 
- Public Member Functions inherited from OpenCVForUnity.XphotoModule.WhiteBalancer
void balanceWhite (Mat src, Mat dst)
 Applies white balancing to the input image. More...
 
- Public Member Functions inherited from OpenCVForUnity.CoreModule.Algorithm
IntPtr getNativeObjAddr ()
 
virtual void clear ()
 Clears the algorithm state. More...
 
virtual bool empty ()
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. More...
 
void save (string filename)
 
virtual string getDefaultName ()
 
- Public Member Functions inherited from OpenCVForUnity.DisposableObject
void Dispose ()
 
void ThrowIfDisposed ()
 

Static Public Member Functions

static new LearningBasedWB __fromPtr__ (IntPtr addr)
 
- Static Public Member Functions inherited from OpenCVForUnity.XphotoModule.WhiteBalancer
static new WhiteBalancer __fromPtr__ (IntPtr addr)
 
- Static Public Member Functions inherited from OpenCVForUnity.CoreModule.Algorithm
static Algorithm __fromPtr__ (IntPtr addr)
 
- Static Public Member Functions inherited from OpenCVForUnity.DisposableObject
static IntPtr ThrowIfNullIntPtr (IntPtr ptr)
 

Protected Member Functions

override void Dispose (bool disposing)
 
- Protected Member Functions inherited from OpenCVForUnity.XphotoModule.WhiteBalancer
override void Dispose (bool disposing)
 
- Protected Member Functions inherited from OpenCVForUnity.DisposableOpenCVObject
 DisposableOpenCVObject ()
 
 DisposableOpenCVObject (IntPtr ptr)
 
 DisposableOpenCVObject (bool isEnabledDispose)
 
 DisposableOpenCVObject (IntPtr ptr, bool isEnabledDispose)
 
- Protected Member Functions inherited from OpenCVForUnity.DisposableObject
 DisposableObject ()
 
 DisposableObject (bool isEnabledDispose)
 

Additional Inherited Members

- Properties inherited from OpenCVForUnity.DisposableObject
bool IsDisposed [get, protected set]
 
bool IsEnabledDispose [get, set]
 

Detailed Description

More sophisticated learning-based automatic white balance algorithm.

As GrayworldWB, this algorithm works by applying different gains to the input image channels, but their computation is a bit more involved compared to the simple gray-world assumption. More details about the algorithm can be found in [Cheng2015] .

To mask out saturated pixels this function uses only pixels that satisfy the following condition:

\[ \frac{\textrm{max}(R,G,B)}{\texttt{range_max_val}} < \texttt{saturation_thresh} \]

Currently supports images of type CV_8UC3 and CV_16UC3.

Member Function Documentation

◆ __fromPtr__()

static new LearningBasedWB OpenCVForUnity.XphotoModule.LearningBasedWB.__fromPtr__ ( IntPtr  addr)
static

◆ Dispose()

override void OpenCVForUnity.XphotoModule.LearningBasedWB.Dispose ( bool  disposing)
protectedvirtual

◆ extractSimpleFeatures()

void OpenCVForUnity.XphotoModule.LearningBasedWB.extractSimpleFeatures ( Mat  src,
Mat  dst 
)

Implements the feature extraction part of the algorithm.

In accordance with [Cheng2015] , computes the following features for the input image:

  1. Chromaticity of an average (R,G,B) tuple
  2. Chromaticity of the brightest (R,G,B) tuple (while ignoring saturated pixels)
  3. Chromaticity of the dominant (R,G,B) tuple (the one that has the highest value in the RGB histogram)
  4. Mode of the chromaticity palette, that is constructed by taking 300 most common colors according to the RGB histogram and projecting them on the chromaticity plane. Mode is the most high-density point of the palette, which is computed by a straightforward fixed-bandwidth kernel density estimator with a Epanechnikov kernel function.
Parameters
srcInput three-channel image (BGR color space is assumed).
dstAn array of four (r,g) chromaticity tuples corresponding to the features listed above.

◆ getHistBinNum()

int OpenCVForUnity.XphotoModule.LearningBasedWB.getHistBinNum ( )

Defines the size of one dimension of a three-dimensional RGB histogram that is used internally by the algorithm. It often makes sense to increase the number of bins for images with higher bit depth (e.g. 256 bins for a 12 bit image).

See also
setHistBinNum

◆ getRangeMaxVal()

int OpenCVForUnity.XphotoModule.LearningBasedWB.getRangeMaxVal ( )

Maximum possible value of the input image (e.g. 255 for 8 bit images, 4095 for 12 bit images)

See also
setRangeMaxVal

◆ getSaturationThreshold()

float OpenCVForUnity.XphotoModule.LearningBasedWB.getSaturationThreshold ( )

Threshold that is used to determine saturated pixels, i.e. pixels where at least one of the channels exceeds \(\texttt{saturation_threshold}\times\texttt{range_max_val}\) are ignored.

See also
setSaturationThreshold

◆ setHistBinNum()

void OpenCVForUnity.XphotoModule.LearningBasedWB.setHistBinNum ( int  val)

Defines the size of one dimension of a three-dimensional RGB histogram that is used internally by the algorithm. It often makes sense to increase the number of bins for images with higher bit depth (e.g. 256 bins for a 12 bit image).

See also
getHistBinNum

◆ setRangeMaxVal()

void OpenCVForUnity.XphotoModule.LearningBasedWB.setRangeMaxVal ( int  val)

Maximum possible value of the input image (e.g. 255 for 8 bit images, 4095 for 12 bit images)

See also
getRangeMaxVal

◆ setSaturationThreshold()

void OpenCVForUnity.XphotoModule.LearningBasedWB.setSaturationThreshold ( float  val)

Threshold that is used to determine saturated pixels, i.e. pixels where at least one of the channels exceeds \(\texttt{saturation_threshold}\times\texttt{range_max_val}\) are ignored.

See also
getSaturationThreshold

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