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 :

Sauvegarder des objets


Sujet :

OpenCV

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    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 : 114
    Points
    114
    Par défaut Sauvegarder des objets
    Bonjour,

    Voila mon problème. Je code avec Visual.
    Je créé un grand nombre d'objets d'une classe contenant divers attributs de type int, double, std::vector etc...
    Mais j'ai aussi des attributs IplImage *.

    Comme je dois exécuter mon programme un grand nombre de fois pour tester des seuils, je voulais essayer de sauvegarder mes objets pour ne pas les recalculer à chaque fois.

    Est ce que cela est possible si j'ai des attributs IplImage* dans ma classe?

    Merci pour votre aide.

  2. #2
    Membre régulier Avatar de GabrielD
    Homme Profil pro
    ingénieur de recherche
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur de recherche

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 88
    Points
    88
    Par défaut
    pourquoi pas faire une boucle dans ton programme au lieu de le relancer à chaque fois?

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    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 : 114
    Points
    114
    Par défaut
    Oui c'est possible sauf que c'est déjà très long a la base donc je n'aimerais pas rajouter du temps d’exécution.

    En gros j'ai deux databases et je compare chaque image de la 1er à la 2e avec pas mal de traitement à chaque fois. Si je dois encore rajouter des boucles pour tester des seuils je n'en fini plus!

    C'est pour ça que j'aimerais sauvergader mes objets.

    Et en plus je suis obligé de parcourir tout mes objets à chaque fois pour établir des statistiques.

  4. #4
    Membre régulier Avatar de GabrielD
    Homme Profil pro
    ingénieur de recherche
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur de recherche

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 88
    Points
    88
    Par défaut
    Je suis désolé mais je ne comprends pas ton problème...
    si tu as deux bases de données tu fais une boucle avec éventuellement des condition quand tu changes d'images histoire de ne pas répéter les préprocessing.

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    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 : 114
    Points
    114
    Par défaut
    Mon probleme c'est que parcourir mes deux boucles (celles correspondant aux databases) est beaucoup trop long.
    Comme j'instancie une objet à chaque itération pour chaque image de la base de donnée je voulais savoir s'il etait possible de sauvergarder ces objets.

    Car je doit faire pas mal de tests de valeurs et donc si je suis obligé de creer et initialiser mes objets pour chaque test, c'est beaucoup trop long!

  6. #6
    Membre régulier Avatar de GabrielD
    Homme Profil pro
    ingénieur de recherche
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur de recherche

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 88
    Points
    88
    Par défaut
    je ne comprends toujours pas ce que tu souhaite faire réellement... à quoi correspond cet objet? Peux-tu décrire ton algo?
    si tu instancies cet objet avant d'entrer dans la boucle cela ne résoudrait pas ton problème?

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    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 : 114
    Points
    114
    Par défaut
    Ok je vais essayer d'etre plus clair
    En gros j'ai deux bases de données comprenant des photos de veines de doigts.
    Le but etant d'etablir des correspondantes entre les veines pour conclure s'il sagit de la meme personne ou non.
    Ma classe est appelé VeinObj et contient différent IplImages* (squelette, image de départ) et des attributs (genre std::vectors)

    en gros voila l'algo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    for each person in database1
       construct VeinObj1
       computeCaracterisitcs(VeinObj1) // des caractéristiques du réseaux veineux
     
     
       for each person in database2
         construct VeinObj2
         computeCaracterisitcs(VeinObj2) // des caracteristiques du réseaux veineux
     
         registration(VeinObj1,VeinObj2) // calibration des images (car il y peut y avoir des     translation)
     
         computeCaracterisitcs(VeinObj2_translated)
         matching(VeinObj1,VeinObJ2)
     
      end
    end
    Et dans ma fonction de matching je doit tester différent seuils par rapport a des angles etc...

    Comme j'ai pas mal de test a fairej'aimerais ne pas recalculer mes objets a chaque fois. J'ai aussi besoinde parcourir tout les objets pour chaque tests.
    Est ce que c'est plus clair?

  8. #8
    Membre régulier Avatar de GabrielD
    Homme Profil pro
    ingénieur de recherche
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur de recherche

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 88
    Points
    88
    Par défaut
    ben j'aurais tendance à te dire que ton problème n'est pas un problème OpenCV... Je suis pas un pro du C++ mais moi je te conseillerais d'enregistrer tout ca dans un fichier ou .... "dans une macro" (je mets des guillemets parce que j'ai peur de dire une connerie). En tout cas si j'ai bien compris ton application je procéderais différement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for each image: generate object
    // premiere boucle qui calcul tes éléments nécessaires pour le reste du process une fois pour toute
     
    for each img1
    for each img2
    process(img1, img2)

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    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 : 114
    Points
    114
    Par défaut
    Oui c'est ce sur quoi j'étais parti au départ.
    Mais le problème c'est que je n'ai pas assez de RAM dispo...
    je créer environ 5000 objets à chaque fois et qu'ils sont plutôt gros donc la RAM n'est pas suffisante...

    C'est vrai que c'est un problème plutôt C++ mais comme j'utilisais des objets OpenCV, j'ai préféré poster mon problème ici.

  10. #10
    Membre régulier Avatar de GabrielD
    Homme Profil pro
    ingénieur de recherche
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur de recherche

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 88
    Points
    88
    Par défaut
    Je ne peux que te conseiller de poser ta question dans une autre section
    Bon courage! C'est un projet de f'in d'étude j'imagine?

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    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 : 114
    Points
    114
    Par défaut
    exactement!
    Merci pour ton aide en tout cas!

  12. #12
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    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 : 114
    Points
    114
    Par défaut
    Finalement j'ai résolu mon problème! Je sauvegarde mes images en binaire dans un fichier txt.

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

Discussions similaires

  1. [1.x] Formulaires encapsulés et sauvegarde des objets
    Par Herode dans le forum Symfony
    Réponses: 6
    Dernier message: 05/02/2010, 17h02
  2. Problème pour sauvegarder des objets.
    Par Invité(e) dans le forum C++Builder
    Réponses: 2
    Dernier message: 07/07/2009, 16h52
  3. hibernate: sauvegarde des objet
    Par gibson700 dans le forum Hibernate
    Réponses: 2
    Dernier message: 07/08/2007, 17h32
  4. Sauvegarder des objets en XML
    Par flow++ dans le forum C++Builder
    Réponses: 1
    Dernier message: 17/08/2006, 17h19
  5. [POO] sauvegarde d'objets et perte des methodes
    Par Matth_S dans le forum Langage
    Réponses: 3
    Dernier message: 23/12/2005, 15h47

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