Class LearningBasedWB
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: Dongliang Cheng, Brian Price, Scott Cohen, and Michael S Brown. Effective learning-based illuminant estimation using simple features. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1000-1008, 2015. To mask out saturated pixels this function uses only pixels that satisfy the following condition: max(R,G,B) / range_max_val < saturation_thresh Currently supports images of type CV_8UC3 and CV_16UC3.
public class LearningBasedWB : WhiteBalancer, IDisposable
- Inheritance
-
LearningBasedWB
- Implements
- Inherited Members
Constructors
LearningBasedWB()
Create a learning based white balancer.
public LearningBasedWB()
Properties
HistBinNum
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).
public int HistBinNum { get; set; }
Property Value
RangeMaxVal
Maximum possible value of the input image (e.g. 255 for 8 bit images, 4095 for 12 bit images)
public int RangeMaxVal { get; set; }
Property Value
SaturationThreshold
Threshold that is used to determine saturated pixels, i.e. pixels where at least one of the channels exceeds saturation_threshold x range_max_val are ignored.
public float SaturationThreshold { get; set; }
Property Value
Methods
DisposeObject()
Release all the unmanaged memory associated with this white balancer
protected override void DisposeObject()