Я реализовал простой resampler изображения в OpenCL, который использует функцию Lanczos.Зачем нужен специальный чехол для lanczos (0)?
Lanczos определяется по формуле:
Написано в 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? Когда я передаю 0 в формуляр, он возвращает 1. Но если я не включаю проверку x == 0, это не сработает.
Может ли кто-то пролить свет на меня? Флориан
Работает ли законченный opaml resampler? Хотите поделиться им? :-) –