begin process at 2012 05 28 18:03:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

Detection de formes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Detection de formes

mardi 1 juin 2010 à 16:48:19 | Detection de formes

blastrame

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
mercredi 2 juin 2010 à 16:17:22 | Re : Detection de formes

blastrame

Personne?
mercredi 2 juin 2010 à 17:09:12 | Re : Detection de formes

buno

Administrateur CodeS-SourceS
Hello,
Je ne pense pas que ce soit une bonne idée de se baser sur le nombre de pixels pour définir une forme...
Il faut plutôt que tu définisses des règles pour tes formes. En gros:
- rectangle = forme avec des angles droits, ou approchant
- triangle = forme avec 3 angles (ou changement de direction)
- cercle = pas de ligne droite


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
jeudi 3 juin 2010 à 17:26:41 | Re : Detection de formes

blastrame

D'accord je vais essayer ca, mais aurais tu un exemple sous la main de se que tu me dis de réalisé pour que je comprendre le principe de ton idee.

Merci d'avance
lundi 7 juin 2010 à 22:04:57 | Re : Detection de formes

cosinus11

Tu devrais te pencher vers la transformée de Hough en traitement d'images. C'est un outil particulièrement adapté pour la situation que tu rencontres.
mardi 8 juin 2010 à 20:05:09 | Re : Detection de formes

blastrame

Oui mais comment utiliser cette methode?


Cette discussion est classée dans : nombre, octets, forme, endl, compteurn


Répondre à ce message

Sujets en rapport avec ce message

saisi au clavier sous forme "\x8D" [ par supers03 ] Bonjour à tousJe m'explique : je voudrai pouvoir saisir un nombre en décimal, puis le sauvegarder sous la forme "\x8D" par exemple ... j'ai esayer de MultiHéritage et Classe Forme [ par dumbadonf ] VOici le sujet du partiel de C++ de l'année dernière... Si quelqu'un l'a déjà fait ca serait super sympas de m'en faire profiter car le mien est cette Enregistrer/Récupérer un nombre sur plusieurs octets [ par tekila_bandita ] Bonjour,J'aimerais enregistrer un nombre dans un fichier sur plusieurs octets de la meme façon qu'un long int, et pouvoir le recuperer...Je m'explique Help : Suite du Nombre 8 [ par tatSoin ] Salut tlm...J'aimerais avoir un coup de main pour programmer en language C...Une suite d'un nombre...En l'occurrence ici :Suite du nombre 8 Soit la s Besoin d'octets !! [ par Niwrad ] Bonjour à tous,Voici mon problème : je suis plutôt nouveau né dans l'univers de la programmation et j'essaye de faire un petit peu tout ce qu'il me pa Ecrire sur plusieurs octets [ par guifr ] Bonsoir à tous,J'aimerais savoir comment faire pour écrire un nombre entier sur un certain nombre d'octet, notamment sur 2, 3 et 4 octets. La difficul convertir 4 octets au format IEE 754 [ par mouss8 ] existe t-il une fonction qui convertit 4 octets (32 bits) en un float dans la norme IEE 754? hdc octets par octets [ par ORTIPIC ] ...................FAB dit salut a tous.................................... en partant d'un hdccomment cree une fonction qui va me donnerles octets un copie d'un controle [ par didrocks ] Salut!J'ai un peu recherché dans le forum et il ne semble pas avoir de réponse précise à ce type de question. Donc, je la pose:J'ai créé une boite de Liste de nombres aléatoires [ par byoushin ] Bonjour,je cherche comment générer une liste de nombre aléatoire.J'ai essayé en initialisant dans main srand(GetTickCount()); ou aussi srand(time(NULL


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,401 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales