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

C

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

detection des petites cercles dans une image avec opencv


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

detection des petites cercles dans une image avec opencv

dimanche 17 avril 2011 à 20:35:15 | detection des petites cercles dans une image avec opencv

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, include, affichage, grise


Répondre à ce message

Sujets en rapport avec ce message

detection des petites cercles dans une image avec open cv [ 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 Set transform C++ [ par ffenforce10 ] Bonjour, Voilà, j'ai un petit problème avec la fonction transform pour appliquer un foncteur... Mon code complilait lorsque j'utilisait un vecteur, m Correction de mon programme pour ecrire une image avec succés [ par ami2008 ] #include #include #include #include #define LARGEUR 256 #define HAUTEUR 256 int main() { //------------------------------------- // Déclaration 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 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 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 détéction des point d'interet d'un visage dans une image [ par marwaMIMImarwa ] bonjour je suis entrain d'implémenter un code en c++ pour détecter le visage et les yeux en utilisant la méthode de détection des points d'interet de 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 ? Problème avec pointeurs private dans une classe [ par vvdbvivien07 ] Bonjour, Je suis en train de réaliser un traitement d'image en c++ et voici mon problème: L'utilisateur doit rentrer le nom d'un fichier pgm et le pr Help ! Affichage Matrice en C [ par MacScp ] #include #include #define C 3 #define L 100 int main() { int i,j; float matrice [C][L] = { {3.84 ,6.6


Nos sponsors


Sondage...

Comparez les prix

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,090 sec (3)

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