Variable qui se remet à 0 TOUTE SEULE
Bonjour à tous,
Alors voilà, je fais du traitement d'images en c++, et j'ai besoin de chronométrer le temps, afin de stopper le programme si la détection n'a pas abouti.
A chaque chargement d'une image à traiter, j'appelle cette première fonction d'initialisation pour récupérer le temps de départ t_start :
Code:
1 2 3 4
|
// square_detect.h
int t_start, t_type_start; |
Code:
1 2 3 4 5 6 7 8 9 10 11
|
square_detect.cpp
// Initialisation:
void square_detect:: init_detection()
{
t_start = clock();
cout << "CLOCK_START = " << t_start << "\n"; // affiche 136 922
cout << "CLOCKS_PER_SEC = " << CLOCKS_PER_SEC << "\n"; // affiche 1000
} |
Avec les 10 premières images, ça marche, et lorsque j'atteins une certaine image (la 15eme), le compteur t_start se remet à 0 entre l'initialisation et ce bout de code :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
if((int)((clock()-t_start)/CLOCKS_PER_SEC) > 60)
{
cout << "TEMPS ECOULE 1\n";
cout << "CLOCK = " << (int)clock() << "\n"; // 138 212
cout << "CLOCK_START = " << t_start << "\n"; // AFFICHE 0 (POURQUOI ???, je ne l'ai pas réinitialisé !!!)
cout << "CLOCK - CLOCK_START= " << (int)(clock()-t_start) << "\n"; // affiche 138 216
cout << "TEMPS = " << (int)((clock()-t_start)/CLOCKS_PER_SEC) << " secondes\n"; // affiche 138 secondes
goto STOP; // du coup mon programme s'arrête au bout de 2 secondes !
} |
J'ai placé un cout << "CLOCK_START = " << t_start << "\n"; à divers endroits du programme, et il affiche 0 très rapidement !! Pourtant je ne l'initialise qu'au début avec clock() et ensuite je n'y touche plus !! Conflit d'adresses vous pensez ??
Je suis donc formel : J'AI UNE VARIABLE QUI SE REMET A ZERO TOUTE SEULE !!!!!
:arf: