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
| // structure Couleur
struct couleur
{
int rouge, vert, bleu;
ofstream file;
};
// Mon vector dans le main
vector<couleur> couleurs;
// Fonction ajoutant un point au vector lorsqu'on clique sur l'image
void add_point (int event, int x, int y, int flags, void* param)
{
int precision=2;
// Conversion param
vector<couleur> *couleurs = (vector<couleur>*) param;
if (event == CV_EVENT_LBUTTONDOWN) {
// Création d'une couleur
couleur colorTemp;
colorTemp.rouge=getPixel1(image, y, x, 2);;
colorTemp.vert=getPixel1(image, y, x, 1);
colorTemp.bleu=getPixel1(image, y, x, 0);
// Création du flux de sortie pour enregistrer les coordonnées
ostringstream ossRouge; // conversion int en string
ossRouge << colorTemp.rouge;
string sRouge = ossRouge.str();
ostringstream ossVert;
ossVert << colorTemp.vert;
string sVert = ossVert.str();
ostringstream ossBleu;
ossBleu << colorTemp.bleu;
string sBleu = ossBleu.str();
string nameFile (sRouge + "_" + sVert + "_" + sBleu + ".txt");
// Ouverture du fichier
colorTemp.file.open(nameFile.c_str(), ios::out | ios::trunc);
// Si on a réussit à créer le fichier
if (colorTemp.file) {
// Ajout de la couleur au vector
couleurs->push_back(colorTemp);
}
}
} |
Partager