IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenCV Discussion :

Lecture et affichage d'une séquence d'images


Sujet :

OpenCV

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Points : 24
    Points
    24
    Par défaut Lecture et affichage d'une séquence d'images
    Bonjour,

    je fais du traitement d'images en C sur dev-cpp. Il m'a été conseillée l'utilisation de OpenCV. C'est une bibliothèque que je connais à peine.

    Quelqu'un s'aurait-il comment lire une séquence d'images et ensuite l'afficher svp? Ou pensez-vous à une autre bibliothèque?


    Merci

    Nates

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Points : 44
    Points
    44
    Par défaut
    salut,
    je pense que tu fais le bon chois pour OpenCV car c'est à ma connaissance la seule bibliothèque aussi complète sur le traitement d'image.
    Je n'ai pas très bien compris ta question pour la séquence d'image mais voila le code pour charger et afficher une image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // les includes indispensables au projet
    #include <cv.h>
    #include <cxcore.h>
    #include <highgui.h>
     
     
    IplImage* src = cvLoadImage("monImage.jpg"); // chargement d'un image à la racine du projet où l'on compile
    cvNamedWindow("titre de la fenetre"); // initialisation d'une fenetre
    cvShowImage("titre de la fenetre",src); // affichage de l'image dans la fenetre définie
    cvWaitKey(); // pour laisser l'image affichée et attendre que l'on appui sur une touche pour continuer

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Points : 24
    Points
    24
    Par défaut
    Merci k3ops pour ta réponse.

    Avec ton code, je ne pourrai afficher qu'une seule image. Mon problème en plus clair est d'afficher une séquence d'images. Je dispose une image TIFF qui en réalité compte 1000 images.
    J'aimerais pourvoir lire les images, effectuer des traitements et les afficher dans l'ordre de lecture. J'aurais donc un défilement des images (de 1 à 1000).

    j'espère que j'ai bien exposé le problème.


    Nates

  4. #4
    Membre actif Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Points : 230
    Points
    230
    Par défaut
    bien justement tu réutilise ce code dans une boucle de 1 à1000 ?!

  5. #5
    Membre actif Avatar de Vinsss84
    Profil pro
    Inscrit en
    Février 2008
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 175
    Points : 207
    Points
    207
    Par défaut
    non c'est un fichier tiff seul qui contient toutes les images.
    LA question a deja été posée et peut etre resolue sur le forum ; pas el temps de chercher par contre

  6. #6
    Membre actif Avatar de Vinsss84
    Profil pro
    Inscrit en
    Février 2008
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 175
    Points : 207
    Points
    207

  7. #7
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Points : 24
    Points
    24
    Par défaut
    Merci pour vos réponses.

    Vinsss84 présente bien la chose

    "non c'est un fichier tiff seul qui contient toutes les images."
    "LA question a deja été posée et peut etre resolue sur le forum"

    Juste pour information, sur matlab, j'arrive à effectuer mes traitements et je cherche à faire la même chose avec opencv.

    Merci

    Nates

  8. #8
    Membre actif Avatar de Vinsss84
    Profil pro
    Inscrit en
    Février 2008
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 175
    Points : 207
    Points
    207
    Par défaut
    ahah la question avait bel et bien été posée........;

    par toi même

    http://www.developpez.net/forums/sho...highlight=Tiff

    De la même façon que lorsque ce sujet etait apparu je n'ai pas de solutions, je n'ai jamais essayé le tif multi images je ne sait donc pas comment c'est codé. Si tu avais un exemple de fichier de ce type à m'envoyer je pourrai regarder un peu.
    LA solution la plus simple consisterai à decomposer ce fichier en images distinctes pour adapter le traitement, comme proposé, tu doit pouvoir le faire sous matlab.

  9. #9
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Points : 24
    Points
    24
    Par défaut
    mersi pour ta réponse Vinsss84.


    Si j'ai bien compris ce que tu me proposes, c'est de travailler non pas sur la séquence d'images mais d'accéder aux images une par une.
    Donc:
    - via matlab, je décompose la séquence d'images dans un repectoire
    - et via une boucle (de 1 à 1000), je traite chacune de mes images

    Je vais essayer ça.

    Merci
    Nates

    PS: malheureusement, je ne peux pas t'envoyer mes images pour des raisons de confidentialité.

  10. #10
    Membre actif Avatar de Vinsss84
    Profil pro
    Inscrit en
    Février 2008
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 175
    Points : 207
    Points
    207
    Par défaut
    Oui, je m'en doute bien pour tes images mais un simple fichier tiff multi pages avec des photos de mickey me convciendrait =)

  11. #11
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Points : 24
    Points
    24
    Par défaut
    J'ai essayé de créer à partir d'un logiciel une séquence de 9 images différentes prises sur internet. Je n'arrive pas à la joindre à la discussion (erreur: fichier invalide). J'essaye de te l'envoyer autrement.

    Nates

  12. #12
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Points : 24
    Points
    24
    Par défaut
    le seul moyen est de t'envoyer un e-mail. je n'y arrive pas non plus via un message privé

  13. #13
    Membre actif Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Points : 230
    Points
    230
    Par défaut
    (est ce que tu peux me l'envoyer aussi stp? gassi64@yahoo.fr Je regarderai chez moi peut être)

  14. #14
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 55
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    J'ai fini par opter pour la proposition de Vinsss84 qui consiste dans un premier temps à passer d'une séquence d'images à plusieurs images distinctes. J'ai effectué cette opération via ImageJ. Les images sont ensuite traitées une par une dans une boucle "for".

    Merci à tous pour votre contribution


  15. #15
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    je suis nouveau dans cette forum. je vias de l'aide pour realisé un proejet en visual C++ et openCV.
    j'ai une image (le font il y a du texte), je dois l'ouvrir et le redressé s'il n'est pas dans le bon sens ou le pivoté s'il est incliné

    merci pour votre compréhension

    voila ce dont moi j'ai fait


    #include <iostream>
    #include <cv.h>
    #include <highgui.h>
    using namespace std;

    int main()
    {

    IplImage *src=cvLoadImage("C:/111.PNG");


    IplImage *img=cvCloneImage(src);
    //cvThreshold(src,img_bin,60,255,CV_THRESH_BINARY);

    IplImage *dst = cvCloneImage(img);
    bool verif=false;





    int i=2;




    while(verif=true){

    if(dst->width > dst->height){


    CvMat *rotation_mat = cvCreateMat(2,3,CV_32FC1);
    CvPoint2D32f center = cvPoint2D32f(src->width/2 ,src->height/2);
    cvZero(dst);
    double angle = -90.0, scale = 1.0;
    cv2DRotationMatrix(center, angle, scale, rotation_mat);
    cvWarpAffine(src, dst, rotation_mat);
    cvNamedWindow("Hello World", CV_WINDOW_AUTOSIZE);
    cvShowImage("Hello World", dst);
    cvWaitKey(0);
    cvDestroyWindow("Hello World");
    cvReleaseImage(&dst);
    src=dst;

    verif=false;
    }

    else{

    if(i>0){
    CvMat *rotation_mat = cvCreateMat(2,3,CV_32FC1);
    CvPoint2D32f center = cvPoint2D32f(src->width/2 ,src->height/2);
    cvZero(dst);
    double angle = -180.0, scale = 0.7;
    cv2DRotationMatrix(center, angle, scale, rotation_mat);
    cvWarpAffine(src, dst, rotation_mat);
    cvNamedWindow("Hello World", CV_WINDOW_AUTOSIZE);
    cvShowImage("Hello World", dst);
    cvWaitKey(0);
    cvDestroyWindow("Hello World");
    cvReleaseImage(&dst);
    verif=false;
    }
    else{

    verif=true;
    CvMat *rotation_mat = cvCreateMat(2,3,CV_32FC1);
    CvPoint2D32f center = cvPoint2D32f(src->width/2 ,src->height/2);
    cvZero(dst);
    double angle = -0.0, scale = 0.7;
    cv2DRotationMatrix(center, angle, scale, rotation_mat);
    cvWarpAffine(src, dst, rotation_mat);
    cvNamedWindow("Hello World", CV_WINDOW_AUTOSIZE);
    cvShowImage("Hello World", dst);
    cvWaitKey(0);
    cvDestroyWindow("Hello World");
    cvReleaseImage(&dst);

    }
    }

    }
    return 0;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lecture et affichage d'une série d'images
    Par highlight dans le forum OpenCV
    Réponses: 7
    Dernier message: 31/01/2014, 14h29
  2. lecture et récupération d'une séquence d'image
    Par jeune ingénieure dans le forum Images
    Réponses: 1
    Dernier message: 28/03/2012, 22h45
  3. Lecture d'une séquences d'images TIFF
    Par Nates dans le forum OpenCV
    Réponses: 8
    Dernier message: 16/07/2008, 08h55
  4. Affichage temps-réel d'une séquence d'image
    Par Copros dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 30/05/2007, 15h13
  5. Reconnaître une position dans une séquence d'images
    Par echataig dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 23/01/2006, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo