Variable window's size for each peak
This commit is contained in:
parent
ce95fe95ca
commit
fcba1dcfbc
20
main.cpp
20
main.cpp
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
using namespace cimg_library;
|
using namespace cimg_library;
|
||||||
|
|
||||||
|
/*
|
||||||
double min(std::vector<Euclidean> vect) {
|
double min(std::vector<Euclidean> vect) {
|
||||||
double min = (*vect.begin()).getDistance();
|
double min = (*vect.begin()).getDistance();
|
||||||
std::vector<Euclidean>::iterator it;
|
std::vector<Euclidean>::iterator it;
|
||||||
@ -41,6 +42,7 @@ double max(std::vector<Euclidean> vect) {
|
|||||||
|
|
||||||
return max;
|
return max;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
Main
|
Main
|
||||||
@ -52,6 +54,7 @@ int main()
|
|||||||
CImgDisplay dispBase(imgLena,"Image de base");
|
CImgDisplay dispBase(imgLena,"Image de base");
|
||||||
|
|
||||||
std::vector<Euclidean> vectEMax, vectEMin;
|
std::vector<Euclidean> vectEMax, vectEMin;
|
||||||
|
std::vector<int> w;
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Part 1: Finding minimas and maximas //
|
// Part 1: Finding minimas and maximas //
|
||||||
@ -149,13 +152,18 @@ int main()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate the window size
|
// Calculate the windows sizes
|
||||||
double d1 = MIN(min(vectEMax), min(vectEMin));
|
for(unsigned int i=0; i<vectEMin.size(); i++)
|
||||||
double d2 = MAX(min(vectEMax), min(vectEMin));
|
{
|
||||||
double d3 = MIN(max(vectEMax), max(vectEMin));
|
double d1 = MIN(vectEMax[i].getDistance(), vectEMin[i].getDistance());
|
||||||
double d4 = MAX(max(vectEMax), max(vectEMin));
|
double d2 = MAX(vectEMax[i].getDistance(), vectEMin[i].getDistance());
|
||||||
|
double d3 = MIN(vectEMax[i].getDistance(), vectEMin[i].getDistance());
|
||||||
|
double d4 = MAX(vectEMax[i].getDistance(), vectEMin[i].getDistance());
|
||||||
|
|
||||||
int w = ((int)ceil(MIN(MIN(d1, d2), MIN(d3, d4)))) % 2 ? w + 1 : w;
|
int wi = (int)ceil(MIN(MIN(d1, d2), MIN(d3, d4)));
|
||||||
|
wi = wi % 2 ? wi + 1 : wi;
|
||||||
|
w.push_back(wi);
|
||||||
|
}
|
||||||
|
|
||||||
// Order filters with source image
|
// Order filters with source image
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user