Bonjour,
J'aurais besoin de votre aide pour détecter la forme rectangle, triangle et rond car mon code fonctionne actuellement avec un nombre de pixel défini et je souhaiterais pouvoir detecter les formes sans avoir a mettre le nombre de pixels pile. Mais mon probleme est que le rond, le rectangle et le triangle on a peux pres 2000 voir 1000 octets de différences comment puis je faire? Merci d'avance de vos réponses
Mon code actuel est le suivant:
Code C/C++ :
if((compteurN == 13191)||(compteurN == 43662))
{
//! Affichage a l'écran que la pièce est ronde
cout << "La forme est ronde avec : " << compteurN << " octets" <<endl;
//! Ecriture de la forme avec son nombre de pixel noir dans fichier 1
fichier1 << "La forme est ronde avec : " << compteurN << " octets" <<endl;
cout << endl;
}
//! Sinon Si le compteur N est egale a la valeur 1 ou la valeur 2 ou la valeur 3 alors faire la traitement
else if ((compteurN == 27123)||(compteurN == 70944)||(compteurN == 56622))
{
//! Affichage a l'écran que la pièce est rectangulaire
cout << "La forme est rectangulaire avec : " << compteurN << " octets" <<endl;
//! Ecriture de la forme avec son nombre de pixel noir dans fichier 1
fichier1 << "La forme est rectangulaire avec : " << compteurN << " octets" <<endl;
cout << endl;
}
//! Sinon Si le compteur N est egale a la valeur 1 ou la valeur 2 alors faire la traitement
else if ((compteurN == 29082)||(compteurN == 58560))
{
//! Affichage a l'écran que la pièce est triangulaire
cout << "La forme est triangulaire avec : " << compteurN << " octets" <<endl;
//! Ecriture de la forme avec son nombre de pixel noir dans fichier 1
fichier1 << "La forme est triangulaire avec : " << compteurN << " octets" <<endl;
cout << endl;
}
//! Sinon si compteur N ne correspond pas au 3 autres choix alors la forme est inconnue
else
{
//! Affichage a l'ecran que la forme est inconnue
cout << "La forme est inconnu avec : " << compteurN << " octets" <<endl;
//! Ecriture de la forme inconnue avec son nombre de pixel noir dans fichier 1
fichier1 << "La forme est inconnu avec : " << compteurN << " octets" <<endl;
cout << endl;
}
}
}
}
Mes formes sont fixées a rectangle, triangle et ronde, ce que je cherches a faire c'est de detecter la forme d'une piece, car ma piece apres le seuillage est noire et le fond est blanc c'est pour cela que j'ai utilisé un nombre de pixel de couleur noir. Car avec les ombres des machine le nombre de pixels noir sur l'image augmente.
Ce que je veux faire c'est par exemple si on met un rectangle le reconnaitre peux importe sa taille et pareil avec les autres formes, mais dans mon code actuel le nombre de pixel est assez proche entre le triangle et le rectangle, donc si on me met un rectangle un px plus grand le nombre de pixel sera le meme que le triangle.
Merci d'avance de vos reponses