Hi,
I want to implement pyramid class. I'm interesting particulary by riesz pyramid and steerable pyramid.
I have started like this :
class Pyramide {
protected:
vector<Mat> pyr;
public :
Pyramide(){};
Pyramide(Pyramide &p, bool zero);
vector<Mat> &get(){return pyr;};
void push_back(Mat m){ pyr.push_back(m); };
int size() { return pyr.size(); };
void swap(Pyramide x)
Mat & operator [](int i) {return pyr[i];}
Pyramide& operator=(Pyramide x);
};
class PyramideGaussienne:public Pyramide {
public :
PyramideGaussienne(Mat );
};
class PyramideLaplacienne:public Pyramide {
static Mat lowPassFilter;
static Mat highPassFilter;
void InitFilters();
public :
PyramideLaplacienne(vector<Mat> &);
PyramideLaplacienne(Mat &); // construct Laplacian pyramid using http://people.csail.mit.edu/nwadhwa/riesz-pyramid/RieszPyrSupplemental.zip
Mat Collpase(Pyramide &gauss);
Mat Collpase();
vector<Mat> &get(){return pyr;};
};
class PyramideRiesz {
Pyramide xPyr;
Pyramide yPyr;
...
Is it a good way to start ? Is it possible to have a common class for all this pyramid?
Thanks for your comment