1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| #include "cfp.h"
#include "choc.h"
CFP::CFP(Choc & c, std::string nom_cfp)
: m_choc(c), nom_composant(nom_cfp), camera(c, nom_cfp)
{
std::cout << "Creation d'un objet CFP :"<< nom_composant << std::endl;
setImageVisible();
}
virtual CFP::~CFP()
{
std::cout << "CFP détruit :" << nom_composant << std::endl;
}
Choc & CFP::getChoc() const {return m_choc; }
//----------------------------------------------------------------
void CFP::setImageVisible()
{
cimg_library::CImg <unsigned short> visible (nom_composant.c_str() );
image_visible = visible;
}
// Possibilité de le faire manuellement
void CFP::setImageVisible(cimg_library::CImg <unsigned short> visible)
{
image_visible = visible;
}
//----------------------------------------------------------------
int CFP::getChocNum() const {return (getChoc().getNumeroChoc() ); }
std::string CFP::getNomComposant() const {return nom_composant;}
cimg_library::CImg <unsigned short> CFP::getImageVisible() const {return image_visible;}
cimg_library::CImg <unsigned short> CFP::getImageIR_full() const {return image_IR_full;}
cimg_library::CImg <unsigned short> CFP::getImageIR_ref() const {return image_IR_ref;}
cimg_library::CImg <unsigned short> CFP::getImageIR_warped() const {return image_IR_warped;}
//----------------------------------------------------------------
void CFP::afficherMix ()
{
//.....
}
void CFP::ajusterVisibleEtIRFull()
{
float coeff1 = static_cast<float>(LARGEUR_ECRAN) /static_cast<float>(image_IR_full.dimx());
float coeff2 = static_cast<float>(HAUTEUR_ECRAN) /static_cast<float>(image_IR_full.dimy());
if (coeff1 > coeff2)
{
coeff_mul = coeff1;
}
else coeff_mul = coeff2;
image_IR_full.resize(static_cast<int>(-100*coeff_mul), static_cast<int>(-100*coeff_mul), 1, 3, 1);
image_visible_full.resize(image_IR_full.dimx(), image_IR_full.dimy(), 1, 3, 1);
}
void CFP::lancerWarping()
{
Warping warping(getChocNum(), nom_composant, image_visible, image_IR_ref);
warping.lancerWarping();
}
cimg_library::CImg <unsigned short> CFP::importImageIR(int numero_image)
{
return (camera.importImageIR(numero_image) );
} |