Précédent   Forum des professionnels en informatique > C et C++ > Bibliothèques > OpenCV
OpenCV Vos questions sur l'API de traitement d'images OpenCV.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/12/2011, 20h09   #1
Invité de passage
 
Inscription : novembre 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 11
Points : 1
Points : 1
Par défaut Problème d'affichage lors de la compilation

Bonjour,
J'ai essayé plusieurs algorithmes avec OpenCV(canny, sobel,etc.) et j'ai toujours un problème d'affichage. L'image destination qui s'affiche, est toujours gris.
J'ai essayé de sauvegarder l'image destination dans mon disque dur et le résultat était bon! L'image sauvegardé affiche bien le résultat souhaité mais l'image compilé et affiché par le compilateur est toujours gris!!!!c'est bizarre non!?
merci en avance pour toute aide..
NB: Le problème est le même avec code::blocks(mingw) et visual c++.
addihoub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2011, 10h26   #2
Membre Expert
 
Homme
Développeur informatique
Inscription : décembre 2011
Messages : 691
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2011
Messages : 691
Points : 1 202
Points : 1 202

Un compilateur génère un fichier binaire d'après un fichier source. Je ne vois pas comment il peux afficher une image, ce n'est pas son rôle/but.
mala92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2011, 10h40   #3
Invité de passage
 
Inscription : novembre 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 11
Points : 1
Points : 1
Je sais pas exactement de quoi vous parlez mais avec opencv, lorsque on compile, on affiche des images et des vidéos. Le problème c'est que le résultat affiché ne correspond pas au résultat sauvegardé!!
addihoub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 11h17   #4
Membre régulier
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 84
Points : 96
Points : 96
Est-il possible d'avoir le bout de code qui permet d'afficher l'image?
romanzo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 15h53   #5
Invité de passage
 
Inscription : novembre 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 11
Points : 1
Points : 1
Citation:
Envoyé par romanzo Voir le message
Est-il possible d'avoir le bout de code qui permet d'afficher l'image?
oui bien sure

IplImage* img = cvLoadImage("img.jpg",0);
IplImage* out=cvCreateImage(CvSize(cvGetSize(img)),IPL_DEPTH_16S,1);
cvSobel(img,out,1,1,3);
cvNamedWindow("in", CV_WINDOW_AUTOSIZE);
cvNamedWindow("out", CV_WINDOW_AUTOSIZE);
cvShowImage("in",img);
cvShowImage("out",out);
cvSaveImage("new.jpg",out);
cvWaitKey(0);
cvReleaseImage(&img);
cvReleaseImage(&out);

L'image sauvegardée présente bien le résultat mais l'image affichée après la compilation est gris.(même problème pour canny, prise de photo ou video par webcam etc.)
addihoub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 17h31   #6
Membre régulier
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 84
Points : 96
Points : 96
Je sais pas trop pourquoi mais change la depth par IPL_DEPTH_32F et ça marche.
romanzo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/01/2012, 20h05   #7
Invité de passage
 
Inscription : novembre 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 11
Points : 1
Points : 1
Citation:
Envoyé par romanzo Voir le message
Je sais pas trop pourquoi mais change la depth par IPL_DEPTH_32F et ça marche.
Merci beaucoup la fameuse couleur gris change finalement
Mais malheureusement c'est pas fini encore, l'image affichée est de loin différente de celle sauvegardée!!! (Elle est trop bruitée et les contours ne sont pas claires).
Franchement, je ne sais pas trop la différence entre 16s, 32s, 32f, 64f mais j'ai tout essayé, la seule qui marche c'est 32f avec une image non conforme.
addihoub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 09h42   #8
Membre régulier
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 84
Points : 96
Points : 96
La taille de l'image dst dépend de la taille de l'image d'entré. Apparemment il faut qu'elle soit plus grande pour gérer les overflow (de que j'ai compris).

Pour ton application de sobel, je ne pense pas que tu puisses appeler la fonction a la fois pour calculer les dérivées horizontales et verticales.

Essaye de faire:
Code :
1
2
cvSobel(img,out,1,0,3); // calcul dérivée horizontal
cvSobel(out,out,0,1,3); //calcul dérivée verticale
romanzo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 18h39   #9
Invité de passage
 
Inscription : novembre 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 11
Points : 1
Points : 1
Citation:
Envoyé par romanzo Voir le message
La taille de l'image dst dépend de la taille de l'image d'entré. Apparemment il faut qu'elle soit plus grande pour gérer les overflow (de que j'ai compris).

Pour ton application de sobel, je ne pense pas que tu puisses appeler la fonction a la fois pour calculer les dérivées horizontales et verticales.

Essaye de faire:
Code :
1
2
cvSobel(img,out,1,0,3); // calcul dérivée horizontal
cvSobel(out,out,0,1,3); //calcul dérivée verticale
Merci pour tout votre aide mais c'est déjà essayé
addihoub est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 11h46   #10
Membre régulier
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 84
Points : 96
Points : 96
et tu obtiens le même résultat?
Car pour faire l'un ou l'autre ne donne pas le même.
romanzo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 06h01   #11
Invité de passage
 
Inscription : novembre 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 11
Points : 1
Points : 1
Citation:
Envoyé par romanzo Voir le message
et tu obtiens le même résultat?
Car pour faire l'un ou l'autre ne donne pas le même.
Il n'y a pas grande différence mais le problème de base n'est pas résolu.
addihoub est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h22.


 
 
 
 
Partenaires

Hébergement Web