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

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

detection des petites cercles dans une image avec open cv


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

detection des petites cercles dans une image avec open cv

dimanche 17 avril 2011 à 15:38:34 | detection des petites cercles dans une image avec open cv

swito

salut

je travaille sur un projet qui consiste à détecter les petites cercles manométriques dans les images , j'ai utilisé la fonction cvHoughCircles de la bibliothèque opencv
mais elle m as détecté des cercles avec aucun sens si quelqu’un a une idée ou déjà travailler sur ça peut m aider et merci d avance
voila le code que j ai utilisé
#include <cv.h>
#include <highgui.h>
#include<stdio.h>
#include<iostream>
#include<math.h>
#include<cxcore.h>
#include<cvaux.h>

using namespace std;
int main()
{
//Déclaration
IplImage*image;
IplImage*grise;
//IplImage*image_cercle;
IplImage*image_binaire;
CvSeq*circles;
CvMemStorage*storage = cvCreateMemStorage(0);


// charger une image
image=cvLoadImage("img.jpg");
if (image == NULL)
{
cout << "impossible d'ouvrir le fichier";
exit(EXIT_FAILURE);
}
//On vérifie l'origine de l'image chargée
//Si elle n'est pas en haut à gauche, il faut la corriger
int flip=0;
if(image->origin!=IPL_ORIGIN_TL)
{
flip=CV_CVTIMG_FLIP;
}
grise=cvCreateImage(cvGetSize(image),image->depth,1);
if (grise == NULL)
{
cout << "impossible de creer image grise";
exit(EXIT_FAILURE);
}

cvCvtColor(image,grise,CV_BGR2GRAY);
cvSmooth( grise,grise, CV_GAUSSIAN, 3, 3);
image_binaire=cvCreateImage(cvGetSize(image),8,1);
cvThreshold(grise,image_binaire,100,255,CV_THRESH_BINARY);

circles = cvHoughCircles(image_binaire, storage, CV_HOUGH_GRADIENT, 2,image_binaire->height/4,100, 100,0,300);
for(int i = 0; i < circles->total; i++ )
{

float* p = (float*)cvGetSeqElem( circles, i );
cvCircle( image_binaire, cvPoint(cvRound(p[0]),cvRound(p[1])), 3, CV_RGB(0,255,0), -1, 8, 0 );
cvCircle( image_binaire, cvPoint(cvRound(p[0]),cvRound(p[1])), cvRound(p[2]), CV_RGB(255,134,180), 3, 8, 0 );
}



//Création des fenêtres dans lesquelles nous afficherons les images
cvNamedWindow("Affichage image Initiale", CV_WINDOW_AUTOSIZE);
cvShowImage("Affichage image Initiale", image);
cvNamedWindow("Affichage image grise", CV_WINDOW_AUTOSIZE);
cvShowImage("Affichage image grise",grise);
cvNamedWindow("Affichage image binaire",CV_WINDOW_AUTOSIZE);
cvShowImage("Affichage image binaire",image_binaire);

//cvNamedWindow("Affichage image cercle", CV_WINDOW_AUTOSIZE);
// cvShowImage("Affichage image cercle",image_cercle);

cvWaitKey(0);
cvDestroyWindow("Affichage image Initiale");
cvDestroyWindow("Affichage image grise");
//cvDestroyWindow("Affichage image cercle");
cvDestroyWindow("Affichage image binaire");
cvReleaseImage(&image);
cvReleaseImage(&grise);
cvReleaseImage(&image_binaire);
//cvReleaseImage(&image_cercle);

return 0;

}



Cette discussion est classée dans : binaire, image, affichage, cv, grise


Répondre à ce message

Sujets en rapport avec ce message

detection des petites cercles dans une image avec opencv [ par swito ] salut je travaille sur un projet qui consiste à détecter les petites cercles manométriques dans les images , j'ai utilisé la fonction cvHoughCircles openCv et openGl [ par pseudoCed222 ] Bonjour, Je cherche à réaliser un soft avec Python 2.7 sous Ubuntu 10.04. Une capture caméra(s) et manipulation de matrices avec openCv (cv.Add par e detecter un trou dans une image binaire [ par pipive ] Salut, j'ai une image binaire (background noir et objet blanc). Je veux savoir comment detecter un trou (noir) sur l'object blanc de l'image. Je veux affichage image JPG en VC6 [ par lahcenm ] j'ai un probleme avec l'affichage des images JPG en VC6 Mon programme utilise  MFC. j'ai essai plusieurs fonctions j'obtient toujours le même message COMMENT AFFICHER UNE IMAGE .JPEG, . BITMAP... SOUS FORME DE CODE BINAIRE? [ par soophy44 ] Bonjour, je suis un peu beaucoup artiste, et j'aurais aimer savoir comment faire pour obtenir une image sous forme de code binaire, un affichage un pe convertir une image (noire et blanc) en binaire [ par pipive ] Salut, J'ai des images (black&white) que j'aimerais comparer. J'utilise [b]C++[/b] dans [b]QT4[/b]. J'aimerais savoir [b]comment convertir des images convertir une image en code binaire avec langage c++ [ par midoamine89 ] bonjour, voila,je suis débutant en c++. comment convertir une image en binaire ? programme curseur [ par bassemamara1984 ] bonjour dans mon programme je veut afficher des image alors j'ai charger 4 image pour faire apparaitre un carré sur mon programme vous saver que pour fonction cvLoadImage de cv.h [ par soundous1909 ] Bonjour, je vient d'installer Opencv 2.2.0 sous Ubuntu . Mon problème est avec la fonction cvLoadImage , en exécutant ce code la fenêtre s'ouvre mais Affichage d'une image de fond dans une boite de dialogue [ par Calimero150 ] Coucou tout le monde!Je cherche un moyen d'afficher une image de fond dans une boite de dialogue donc si quelqu'un peut m'aider, qu'il n'hésite pas! M


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 : 2,746 sec (3)

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