18 #ifndef PIC_ALGORITHMS_MULTI_RESOLUTION_OPERATOR_HPP 19 #define PIC_ALGORITHMS_MULTI_RESOLUTION_OPERATOR_HPP 21 #include "../util/math.hpp" 22 #include "../image.hpp" 23 #include "../image_vec.hpp" 24 #include "../algorithms/pyramid.hpp" 77 std::vector<Pyramid *> pIn;
79 int n = (1 << 30) - 1;
80 for(
int i = 0; i < imgIn.size(); i++) {
87 imgOut =
setup(imgIn, pIn, imgOut);
91 for(
int i = (n - 1); i >= 0; i--) {
94 for(
int j = 0; j < pIn.size(); j++) {
95 imgIn_i.push_back(pIn[j]->
get(i));
100 printf(
"Upsampling..");
112 printf(
"Level: %d\n", level);
115 imgOut =
f(imgIn, imgOut, level);
std::vector< Image * > ImageVec
ImageVec an std::vector of pic::Image.
Definition: image_vec.hpp:29
virtual Image * upsample(ImageVec imgIn, Image *imgOut)
Definition: multi_resolution_operator.hpp:64
Definition: multi_resolution_operator.hpp:28
MultiResolutionOperator()
Definition: multi_resolution_operator.hpp:35
Image * Process(ImageVec imgIn, Image *imgOut)
Process.
Definition: multi_resolution_operator.hpp:75
virtual Image * setup(ImageVec imgIn, std::vector< Pyramid *> pIn, Image *imgOut)
setup
Definition: multi_resolution_operator.hpp:47
virtual Image * f(ImageVec imgIn, Image *imgOut, int level)
f
Definition: multi_resolution_operator.hpp:59
#define MIN(a, b)
Definition: math.hpp:69
The Image class stores an image as buffer of float.
Definition: image.hpp:60
The Pyramid class.
Definition: pyramid.hpp:36
Definition: bilateral_separation.hpp:25
int size()
size
Definition: pyramid.hpp:155
int pyramid_limit
Definition: multi_resolution_operator.hpp:31