diff --git a/main.cpp b/main.cpp index 08de967..96c7d35 100644 --- a/main.cpp +++ b/main.cpp @@ -36,14 +36,9 @@ double sum(CImg img, int startedX, int startedY, int w) { return res; } -/******************************************************************************* - Main - *******************************************************************************/ -int main() +CImg decompose(const CImg input) { - CImg inputImg("lena.bmp"); - CImgDisplay dispBase(inputImg,"Source Image"); - + CImginputImg(input); std::vector vectEMax, vectEMin; /////////////////////////////////////////////////////////////////////////////// @@ -387,8 +382,38 @@ int main() printf("Deletion..\n"); #endif - CImg imgMode(inputImg - imgMoyenne); - CImgDisplay dispMode(imgMode, "Mode 1"); + return inputImg - imgMoyenne; +} + +/******************************************************************************* + Main + *******************************************************************************/ +int main() +{ + char buffer [50]; + CImg inputImg("lena.bmp"); + CImgDisplay dispBase(inputImg, "Source Image"); + + // 1st decomposition + CImg imgMode1 = decompose(inputImg); + CImgDisplay dispMode1(imgMode1, "Mode 1"); + + CImg imgMode2 = decompose(inputImg - imgMode1); + CImgDisplay dispMode2(imgMode2, "Mode 2"); + + /* + for (int i = 2; i < 3; i++) { + sprintf(buffer, "Mode %d", i); + fprintf(stdout, "Decomposing %s\n", buffer); + + inputImg = inputImg - imgMode; + imgMode = decompose(inputImg); + + CImgDisplay dispModeBis(imgMode, buffer); + } + */ + + printf("End.\n"); while (!dispBase.is_closed()) { dispBase.wait();