OpenCV 4.12.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 繼承的公共成員函式
 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 類似,此演算法透過將不同的增益應用於輸入影像通道來工作,但與簡單的灰度世界假設相比,它們的計算更加複雜。 有關該演算法的更多詳細資訊,請參見 [57]

要遮蔽掉飽和畫素,此函式僅使用滿足以下條件的畫素

\[ \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

實現演算法的特徵提取部分。

根據 [57],計算輸入影像的以下特徵

  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() -> retval

定義由演算法內部使用的三維 RGB 直方圖的一個維度的尺寸。 對於具有更高位深度的影像(例如,12 點陣圖像為 256 個 bin),增加 bin 的數量通常是有意義的。

另請參見
setHistBinNum

◆ getRangeMaxVal()

virtual int cv::xphoto::LearningBasedWB::getRangeMaxVal ( ) const
純虛擬函式
Python
cv.xphoto.LearningBasedWB.getRangeMaxVal() -> retval

輸入影像的最大可能值(例如,8 點陣圖像為 255,12 點陣圖像為 4095)

另請參見
setRangeMaxVal

◆ getSaturationThreshold()

virtual float cv::xphoto::LearningBasedWB::getSaturationThreshold ( ) const
純虛擬函式
Python
cv.xphoto.LearningBasedWB.getSaturationThreshold() -> retval

用於確定飽和畫素的閾值,即至少一個通道超過 \(\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

此類文件是從以下檔案生成的