类 LearningBasedWB
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.xphoto.WhiteBalancer
-
- org.opencv.xphoto.LearningBasedWB
-
public class LearningBasedWB extends WhiteBalancer
更复杂的基于学习的自动白平衡算法。与 REF: GrayworldWB 一样,该算法通过对输入图像通道应用不同的增益来工作,但其计算比简单的灰世界假设要复杂一些。有关该算法的更多详细信息,请参阅 CITE: Cheng2015。为了屏蔽饱和像素,此函数仅使用满足以下条件的像素:\( \frac{\textrm{max}(R,G,B)}{\texttt{range_max_val}} < \texttt{saturation_thresh} \) 当前支持 REF: CV_8UC3 和 REF: CV_16UC3 类型的图像。
-
-
构造函数摘要
构造函数 修饰符 构造函数 描述 protected
LearningBasedWB(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static LearningBasedWB
__fromPtr__(long addr)
void
extractSimpleFeatures(Mat src, Mat dst)
实现算法的特征提取部分。protected void
finalize()
int
getHistBinNum()
定义算法内部使用的三维 RGB 直方图的一个维度的大小。int
getRangeMaxVal()
输入图像的最大可能值(例如float
getSaturationThreshold()
用于确定饱和像素的阈值,即void
setHistBinNum(int val)
getHistBinNum 参见:getHistBinNumvoid
setRangeMaxVal(int val)
getRangeMaxVal 参见:getRangeMaxValvoid
setSaturationThreshold(float val)
getSaturationThreshold 参见:getSaturationThreshold-
继承自类 org.opencv.xphoto.WhiteBalancer 的方法
balanceWhite
-
继承自类 org.opencv.core.Algorithm 的方法
clear, empty, getDefaultName, getNativeObjAddr, save
-
-
-
-
方法详情
-
__fromPtr__
public static LearningBasedWB __fromPtr__(long addr)
-
extractSimpleFeatures
public void extractSimpleFeatures(Mat src, Mat dst)
实现算法的特征提取部分。根据 CITE: Cheng2015,计算输入图像的以下特征:1. 平均 (R,G,B) 元组的色度 2. 最亮 (R,G,B) 元组的色度(同时忽略饱和像素)3. 主导 (R,G,B) 元组的色度(在 RGB 直方图中具有最高值的元组)4. 色度调色板的众数,它是通过获取根据 RGB 直方图排名前 300 的最常见颜色并将其投影到色度平面来构建的。众数是调色板中密度最高的点,它是通过使用 Epanechnikov 核函数的简单固定带宽核密度估计器计算的。- 参数
src
- 输入三通道图像(假设为 BGR 颜色空间)。dst
- 四个 (r,g) 色度元组数组,对应于上面列出的特征。
-
getRangeMaxVal
public int getRangeMaxVal()
输入图像的最大可能值(例如,8 位图像为 255,12 位图像为 4095)参见:setRangeMaxVal- 返回值
- 自动生成
-
setRangeMaxVal
public void setRangeMaxVal(int val)
getRangeMaxVal 参见:getRangeMaxVal- 参数
val
- 自动生成
-
getSaturationThreshold
public float getSaturationThreshold()
用于确定饱和像素的阈值,即至少一个通道超过 \(\texttt{saturation_threshold}\times\texttt{range_max_val}\) 的像素将被忽略。参见:setSaturationThreshold- 返回值
- 自动生成
-
setSaturationThreshold
public void setSaturationThreshold(float val)
getSaturationThreshold 参见:getSaturationThreshold- 参数
val
- 自动生成
-
getHistBinNum
public int getHistBinNum()
定义算法内部使用的三维 RGB 直方图的一个维度的大小。对于位深度更高的图像,增加 bin 的数量通常很有意义(例如,对于 12 位图像,使用 256 个 bin)。参见:setHistBinNum- 返回值
- 自动生成
-
setHistBinNum
public void setHistBinNum(int val)
getHistBinNum 参见:getHistBinNum- 参数
val
- 自动生成
-
finalize
protected void finalize() throws java.lang.Throwable
- 重写
finalize
in classWhiteBalancer
- 抛出
java.lang.Throwable
-
-