我在名为“filter.h”的头文件中有以下方法:
namespace std{
//some code
template <class T, class S, class BorderMethod>
tImage<T> binomial(const tImage<T> &in, const size_t k = 3) {
//do some computations
tImage<T> img = in.convolve<T, BorderMethod>(in, kernel);
return img;
}
}
我注意到的第一件事:此方法的定义发生在头文件中。这是标准程序吗?
现在,实际问题是:对方法的调用convolve
不起作用,即使in
确实拥有这样的方法。这是convolve
类中方法的定义tImage<T>
:
tImage<T> convolve(const gravis::tImage<T>& image, const gravis::tArray<typename tImageTraits<T>::Float_t>& kernel);
我该如何调用这个函数?