OpenCV 4.5.3(日本語機械翻訳)
公開メンバ関数 | 全メンバ一覧
cv::xphoto::LearningBasedWB クラス abstract

More sophisticated learning-based automatic white balance algorithm. [詳解]

#include <white_balance.hpp>

cv::xphoto::WhiteBalancerを継承しています。

公開メンバ関数

virtual CV_WRAP void extractSimpleFeatures (InputArray src, OutputArray dst)=0
アルゴリズムの特徴抽出部分を実行します.[【詳解】(英語]
virtual CV_WRAP int getRangeMaxVal () const =0
入力画像の最大可能値(例:8ビット画像の場合は255、12ビット画像の場合は4095)[【詳解】(英語]
virtual CV_WRAP void setRangeMaxVal (int val)=0
入力画像の最大可能値(例:8ビット画像の場合は255、12ビット画像の場合は4095)[【詳解】(英語]
virtual CV_WRAP float getSaturationThreshold () const =0
飽和したピクセルを決定するために使用されるしきい値。つまり、少なくとも1つのチャンネルが$\texttt{saturation_threshold}\times\texttt{range_max_val}$を超える画素は無視されます。[【詳解】(英語]
virtual CV_WRAP void setSaturationThreshold (float val)=0
飽和したピクセルを決定するために使用されるしきい値。つまり、少なくとも1つのチャンネルが$\texttt{saturation_threshold}\times\texttt{range_max_val}$を超える画素は無視されます。[【詳解】(英語]
virtual CV_WRAP int getHistBinNum () const =0
アルゴリズムが内部的に利用する,3次元RGBヒストグラムの1次元のサイズを定義します.ビット深度の高い画像では,ビンの数を増やすことに意味がある場合が多い(例えば,12ビットの画像では256ビン).[【詳解】(英語]
virtual CV_WRAP void setHistBinNum (int val)=0
アルゴリズムが内部的に利用する,3次元RGBヒストグラムの1次元のサイズを定義します.ビット深度の高い画像では,ビンの数を増やすことに意味がある場合が多い(例えば,12ビットの画像では256ビン).[【詳解】(英語]
- 基底クラス cv::xphoto::WhiteBalancer に属する継承公開メンバ関数
virtual CV_WRAP void balanceWhite (InputArray src, OutputArray dst)=0
入力画像にホワイトバランスを適用します.[【詳解】(英語]
- 基底クラス cv::Algorithm に属する継承公開メンバ関数
virtual CV_WRAP void clear ()
アルゴリズムの状態をクリアする[【詳解】(英語]
virtual void write (FileStorage &fs) const
アルゴリズムのパラメーターをファイルストレージに格納[【詳解】(英語]
CV_WRAP void write (const Ptr< FileStorage > &fs, const String &name=String()) const
これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
virtual CV_WRAP void read (const FileNode &fn)
アルゴリズム・パラメータをファイル・ストレージから読み込みます。[【詳解】(英語]
virtual CV_WRAP bool empty () const
が空の場合はtrueを返します。Algorithmが空の場合は真を返します。[【詳解】(英語]
virtual CV_WRAP void save (const String &filename) const
virtual CV_WRAP String getDefaultName () const

その他の継承メンバ

- 基底クラス cv::Algorithm に属する継承静的公開メンバ関数
template<typename _Tp >
static Ptr< _Tp > read (const FileNode &fn)
ファイル・ノードからアルゴリズムを読み込む[【詳解】(英語]
template<typename _Tp >
static Ptr< _Tp > load (const String &filename, const String &objname=String())
ファイルからアルゴリズムを読み込む[【詳解】(英語]
template<typename _Tp >
static Ptr< _Tp > loadFromString (const String &strModel, const String &objname=String())
文字列からアルゴリズムを読み込む[【詳解】(英語]
- 基底クラス cv::Algorithm に属する継承限定公開メンバ関数
void writeFormat (FileStorage &fs) const

詳解

より洗練された学習ベースの自動ホワイトバランスアルゴリズム。

としてGrayworldWBと同様に、このアルゴリズムは、入力画像のチャンネルに異なるゲインを適用することで動作しますが、その計算は、単純なグレーワールドの仮定に比べて、もう少し複雑です。このアルゴリズムの詳細については、以下を参照してください。[Cheng2015] に従います..

飽和したピクセルをマスクアウトするために,この関数は,以下の条件を満たすピクセルのみを使用します.

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

現在は,CV_8UC3 および CV_16UC3 タイプの画像をサポートしています.

関数詳解

extractSimpleFeatures()

virtual CV_WRAP void cv::xphoto::LearningBasedWB::extractSimpleFeatures ( InputArray src,
OutputArray dst
)
pure virtual

アルゴリズムの特徴抽出部分を実行します.

以下に従います[Cheng2015] に従います.に従い,入力画像に対して以下の特徴量を計算します.

  1. 平均的な(R,G,B)タプルの色度
  2. 最も明るい(R,G,B)タプルの色度(飽和したピクセルは無視する)
  3. 支配的な(R,G,B)タプルの色度(RGBヒストグラムで最も高い値を持つタプルの色度)
  4. 色度パレットのモード(RGBヒストグラムで最も一般的な300色を色度平面に投影して作成されます。モード」は,パレットの中で最も密度の高い点であり,これは,Epanechnikov カーネル関数を用いた単純な固定帯域幅カーネル密度推定法によって算出されます.
引数
src 入力 3チャンネルの画像(BGR色空間を想定).
dst 上述の特徴に対応する4つの(r,g)色度タプルの配列。

getHistBinNum()

virtual CV_WRAP int cv::xphoto::LearningBasedWB::getHistBinNum ( ) const
pure virtual

アルゴリズムが内部的に利用する,3次元RGBヒストグラムの1次元のサイズを定義します.ビット深度の高い画像では,ビンの数を増やすことに意味がある場合が多い(例えば,12ビットの画像では256ビン).

参照
setHistBinNum

getRangeMaxVal()

virtual CV_WRAP int cv::xphoto::LearningBasedWB::getRangeMaxVal ( ) const
pure virtual

入力画像の最大可能値(例:8ビット画像の場合は255、12ビット画像の場合は4095)

参照
setRangeMaxVal

getSaturationThreshold()

virtual CV_WRAP float cv::xphoto::LearningBasedWB::getSaturationThreshold ( ) const
pure virtual

飽和したピクセルを決定するために使用されるしきい値。つまり、少なくとも1つのチャンネルが$\texttt{saturation_threshold}\times\texttt{range_max_val}$を超える画素は無視されます。

参照
setSaturationThreshold

setHistBinNum()

virtual CV_WRAP void cv::xphoto::LearningBasedWB::setHistBinNum ( int val )
pure virtual

アルゴリズムが内部的に利用する,3次元RGBヒストグラムの1次元のサイズを定義します.ビット深度の高い画像では,ビンの数を増やすことに意味がある場合が多い(例えば,12ビットの画像では256ビン).

参照
getHistBinNum

setRangeMaxVal()

virtual CV_WRAP void cv::xphoto::LearningBasedWB::setRangeMaxVal ( int val )
pure virtual

入力画像の最大可能値(例:8ビット画像の場合は255、12ビット画像の場合は4095)

参照
getRangeMaxVal

setSaturationThreshold()

virtual CV_WRAP void cv::xphoto::LearningBasedWB::setSaturationThreshold ( float val )
pure virtual

飽和したピクセルを決定するために使用されるしきい値。つまり、少なくとも1つのチャンネルが$\texttt{saturation_threshold}\times\texttt{range_max_val}$を超える画素は無視されます。

参照
getSaturationThreshold

このクラス詳解は次のファイルから抽出されました: