OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::xphoto::LearningBasedWB 类参考抽象

更复杂的基于学习的自动白平衡算法。更多…

#include <opencv2/xphoto/white_balance.hpp>

cv::xphoto::LearningBasedWB 的协作图

公共成员函数

virtual void extractSimpleFeatures (InputArray src, OutputArray dst)=0
 实现算法的特征提取部分。
 
virtual int getHistBinNum () const =0
 定义算法内部使用的三维 RGB 直方图的一个维度的大小。对于位深度更高的图像(例如,对于 12 位图像为 256 个 bin),增加 bin 的数量通常是有意义的。
 
virtual int getRangeMaxVal () const =0
 输入图像的最大可能值(例如,8 位图像为 255,12 位图像为 4095)
 
virtual float getSaturationThreshold () const =0
 用于确定饱和像素的阈值,即至少一个通道超过 \(\texttt{saturation_threshold}\times\texttt{range_max_val}\) 的像素将被忽略。
 
virtual void setHistBinNum (int val)=0
 定义算法内部使用的三维 RGB 直方图的一个维度的大小。对于位深度更高的图像(例如,对于 12 位图像为 256 个 bin),增加 bin 的数量通常是有意义的。
 
virtual void setRangeMaxVal (int val)=0
 输入图像的最大可能值(例如,8 位图像为 255,12 位图像为 4095)
 
virtual void setSaturationThreshold (float val)=0
 用于确定饱和像素的阈值,即至少一个通道超过 \(\texttt{saturation_threshold}\times\texttt{range_max_val}\) 的像素将被忽略。
 
- 从 cv::xphoto::WhiteBalancer 继承的公共成员函数
virtual void balanceWhite (InputArray src, OutputArray dst)=0
 将白平衡应用于输入图像。
 
- 从 cv::Algorithm 继承的公共成员函数
 算法 ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除算法状态。
 
virtual bool empty () const
 如果 Algorithm 为空(例如,在开始时或读取不成功后),则返回 true。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 从文件存储中读取算法参数。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 将算法参数存储在文件存储中。
 
void write (FileStorage &fs, const String &name) const
 

其他继承成员

- 从 cv::Algorithm 继承的静态公共成员函数
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 从文件中加载算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 从字符串加载算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 从文件节点读取算法。
 
- 从 cv::Algorithm 继承的受保护成员函数
void writeFormat (FileStorage &fs) const
 

详细描述

更复杂的基于学习的自动白平衡算法。

GrayworldWB 一样,此算法通过对输入图像通道应用不同的增益来工作,但与简单的灰世界假设相比,它们的计算更复杂。有关算法的更多详细信息,请参见 [55]

为了屏蔽饱和像素,此函数仅使用满足以下条件的像素

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

目前支持 CV_8UC3CV_16UC3 类型的图像。

成员函数文档

◆ extractSimpleFeatures()

virtual void cv::xphoto::LearningBasedWB::extractSimpleFeatures ( InputArray src,
OutputArray dst )
纯虚函数
Python
cv.xphoto.LearningBasedWB.extractSimpleFeatures(src[, dst]) -> dst

实现算法的特征提取部分。

根据 [55],为输入图像计算以下特征:

  1. 平均 (R,G,B) 元组的色度
  2. 最亮 (R,G,B) 元组的色度(同时忽略饱和像素)
  3. 主导 (R,G,B) 元组 (RGB 直方图中值最大的元组) 的色度
  4. 色度调色板的众数,该调色板通过获取根据 RGB 直方图排名前 300 的最常见颜色并将它们投影到色度平面上构建而成。众数是调色板中密度最高的点,它是通过使用 Epanechnikov 核函数的简单固定带宽核密度估计器计算的。
参数
src输入三通道图像(假设为 BGR 颜色空间)。
dst一个包含四个 (r,g) 色度元组的数组,对应于上面列出的特征。

◆ getHistBinNum()

virtual int cv::xphoto::LearningBasedWB::getHistBinNum ( ) const
纯虚函数
Python
cv.xphoto.LearningBasedWB.getHistBinNum() -> 返回值

定义算法内部使用的三维 RGB 直方图的一个维度的大小。对于位深度更高的图像(例如,对于 12 位图像为 256 个 bin),增加 bin 的数量通常是有意义的。

另请参见
setHistBinNum

◆ getRangeMaxVal()

virtual int cv::xphoto::LearningBasedWB::getRangeMaxVal ( ) const
纯虚函数
Python
cv.xphoto.LearningBasedWB.getRangeMaxVal() -> 返回值

输入图像的最大可能值(例如,8 位图像为 255,12 位图像为 4095)

另请参见
setRangeMaxVal

◆ getSaturationThreshold()

virtual float cv::xphoto::LearningBasedWB::getSaturationThreshold ( ) const
纯虚函数
Python
cv.xphoto.LearningBasedWB.getSaturationThreshold() -> 返回值

用于确定饱和像素的阈值,即至少一个通道超过 \(\texttt{saturation_threshold}\times\texttt{range_max_val}\) 的像素将被忽略。

另请参见
setSaturationThreshold

◆ setHistBinNum()

virtual void cv::xphoto::LearningBasedWB::setHistBinNum ( int val)
纯虚函数
Python
cv.xphoto.LearningBasedWB.setHistBinNum(val) ->

定义算法内部使用的三维 RGB 直方图的一个维度的大小。对于位深度更高的图像(例如,对于 12 位图像为 256 个 bin),增加 bin 的数量通常是有意义的。

另请参见
getHistBinNum

◆ setRangeMaxVal()

virtual void cv::xphoto::LearningBasedWB::setRangeMaxVal ( int val)
纯虚函数
Python
cv.xphoto.LearningBasedWB.setRangeMaxVal(val) ->

输入图像的最大可能值(例如,8 位图像为 255,12 位图像为 4095)

另请参见
getRangeMaxVal

◆ setSaturationThreshold()

virtual void cv::xphoto::LearningBasedWB::setSaturationThreshold ( float val)
纯虚函数
Python
cv.xphoto.LearningBasedWB.setSaturationThreshold(val) ->

用于确定饱和像素的阈值,即至少一个通道超过 \(\texttt{saturation_threshold}\times\texttt{range_max_val}\) 的像素将被忽略。

另请参见
getSaturationThreshold

此类的文档是从以下文件生成的: