Lanczos 関数を使用する OpenCL で単純な画像リサンプラーを実装しました。
ランチョスは次のように定義されています。
Cで書かれています:
inline
float lanczos(float x, float a) {
if( x > fabs(a) ) return 0.0f;
if( x == 0.0f ) return 1.0f;
float pix = pi * x;
return sinc(pix)*sinc(pix/a);
}
0 の特殊なケースがあるのはなぜですか? Formular に 0 を渡すと 1 が返されます。ただし、x == 0 のチェックを含めないと機能しません。
誰かが私に光を当てることができますか?フロリアン