|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 11 ![]() |
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++. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Développeur informatique Inscription : décembre 2011 Messages : 691 ![]() |
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. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 11 ![]() |
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é!!
|
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Étudiant Inscription : octobre 2011 Messages : 84 ![]() |
Est-il possible d'avoir le bout de code qui permet d'afficher l'image?
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 11 ![]() |
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.) |
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Étudiant Inscription : octobre 2011 Messages : 84 ![]() |
Je sais pas trop pourquoi
mais change la depth par IPL_DEPTH_32F et ça marche.
|
|
|
10
|
|
|
#7 | |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 11 ![]() |
Citation:
![]() 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. |
|
|
|
00
|
|
|
#8 | ||
|
Membre régulier
![]() Étudiant Inscription : octobre 2011 Messages : 84 ![]() |
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 :
|
||
|
|
00
|
|
|
#9 | |||
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 11 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#10 |
|
Membre régulier
![]() Étudiant Inscription : octobre 2011 Messages : 84 ![]() |
et tu obtiens le même résultat?
Car pour faire l'un ou l'autre ne donne pas le même. |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 11 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com