GraphicLibrary
0.5.0
|
Gabor Filter Kernel [詳解]
公開メンバ関数 | |
GaborFilter (double lambda, double theta, double offset, double ratio=DEFAULT_RATIO, double bandWidth=DEFAULT_BANDWIDTH, int wSize=DEFAULT_WINSIZE) | |
正弦波とガウス関数の各パラメータを指定して構築 [詳解] | |
double | operator[] (Coord< int > c) const |
指定した座標のカーネルの値を返す [詳解] | |
int | wSize () const |
窓サイズを返す [詳解] | |
void | print () const |
パラメータの表示 [詳解] | |
bool | operator< (const GaborFilter &dest) const |
パラメータどうしの大小比較 [詳解] | |
静的公開変数類 | |
constexpr static const double | DEFAULT_LAMBDA = 8 |
デフォルトの波長 | |
constexpr static const double | DEFAULT_RATIO = 1 |
デフォルトのアスペクト比 | |
constexpr static const double | DEFAULT_BANDWIDTH = 1 |
デフォルトの帯域幅 | |
static const int | DEFAULT_WINSIZE = 8 |
デフォルトの窓サイズ | |
Gabor Filter Kernel
ガボール・フィルタは、以下の「正弦波」と「ガウス関数」の積で表される
G( λ,Θ,Ψ,σ,γ ; x,y ) = N( γ,σ ; X,Y )H( λ,Ψ ; X )
ガウス関数 : N( γ,σ; X,Y ) = exp( -( X^2 + (γX )^2 ) / 2σ^2 )
正弦波 : H( λ,Ψ; X ) = cos( 2πX / λ + Ψ )
X = xcosΘ + ysinΘ
Y = -xsinΘ + ycosΘ
帯域幅 b = log2( ( σπ/λ + K ) / ( σπ/λ - K ) )
但し K = ( ln2/2 )^(1/2)
tadah_fussy::gl::GaborFilter::GaborFilter | ( | double | lambda, |
double | theta, | ||
double | offset, | ||
double | ratio = DEFAULT_RATIO , |
||
double | bandWidth = DEFAULT_BANDWIDTH , |
||
int | wSize = DEFAULT_WINSIZE |
||
) |
正弦波とガウス関数の各パラメータを指定して構築
lambda, ratio, bandWidth, wSize は正数である必要がある。そうでない場合は例外 ExceptionNotPositiveNumber を投げる。
lambda | 正弦波の波長 λ |
theta | フィルタの方向 θ |
offset | 正弦波の位相オフセット Ψ |
ratio | ガウス関数のアスペクト比 γ |
bandWidth | 帯域幅 b |
wSize | 窓サイズ ( 有効範囲は -wSize から wSize までとなる ) |
bool tadah_fussy::gl::GaborFilter::operator< | ( | const GaborFilter & | dest | ) | const |
パラメータどうしの大小比較
map / multimap のキーとして利用するために必要となる
dest | 比較対象 |
|
inline |
void tadah_fussy::gl::GaborFilter::print | ( | ) | const |
パラメータの表示
|
inline |
窓サイズを返す