GraphicLibrary  0.5.0
ConvolutionKernel_Bicubic クラス

三次畳み込み補間関数 [詳解]

ConvolutionKernel_Bicubic の継承関係図
ConvolutionKernel_IF

公開メンバ関数

 ConvolutionKernel_Bicubic (double a=-0.5)
 三次畳み込み補間関数用コンストラクタ [詳解]
 
virtual void operator() (double t, std::vector< double > *phai) const
 三次畳み込み補間関数の t - 1 から t + 2 までの値を求める [詳解]
 
virtual int size () const
 ゼロ以外の値を持つピクセルの幅を返す [詳解]
 

詳解

三次畳み込み補間関数

下式で表される三次畳み込み補間関数を計算するための関数オブジェクト。 値を持つ範囲は t - 2 から t + 2 までとなる。

F(t) = ( a + 2 )|t|^3 - ( a + 3 )|t|^2 + 1 [ 0 < |t| < 1 ]
     = a|t|^3 - 5a|t|^2 + 8a|t| - 4a       [ 1 < |t| < 2 ]
     = 0                                   [ |t| > 2 ]

構築子と解体子

◆ ConvolutionKernel_Bicubic()

ConvolutionKernel_Bicubic::ConvolutionKernel_Bicubic ( double  a = -0.5)
inline

三次畳み込み補間関数用コンストラクタ

引数
a三次式の係数を決定するパラメータ

関数詳解

◆ operator()()

virtual void ConvolutionKernel_Bicubic::operator() ( double  t,
std::vector< double > *  phai 
) const
virtual

三次畳み込み補間関数の t - 1 から t + 2 までの値を求める

求めた値を保持する配列 phai は、あらかじめサイズを 4 ( size() の 2 倍 )にしておく必要がある。そうでない場合は assert を実行する。

引数
phai求めた値を保持する配列への参照
t変数 t
戻り値
なし

ConvolutionKernel_IFを実装しています。

◆ size()

virtual int ConvolutionKernel_Bicubic::size ( ) const
inlinevirtual

ゼロ以外の値を持つピクセルの幅を返す

値を持つ範囲は - 2 <= t <= 2 なので 2 固定

戻り値
ゼロ以外の値を持つピクセルの幅

ConvolutionKernel_IFを実装しています。


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