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

Bibliothèques C++ Discussion :

Eigen et (très) grosse matrice


Sujet :

Bibliothèques C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12
    Par défaut Eigen et (très) grosse matrice
    Bonjour,

    C'est encore moi et j'ai encore un problème avec Eigen

    Je travail sur une appli qui manipule des images. A partir de mon image je créer une matrice dont les dimensions sont N*N avec N étant le nombre de pixels de mon image. Du coup pour une image 100*200 pixels, ma matrice doit avoir pour dimension 20000*20000. Lors de l'allocation j'ai alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception non gérée à 0x7c812afb dans LocalAdjustment.exe*: Exception Microsoft C++*: std::bad_alloc à l'emplacement mémoire 0x0012f53c..
    J'ai testé avec une image plus petite 50*50 pixels et là pas de soucis même si il y a un petit temps d'attente lors de l'allocation.

    Bref du coup je ne sais pas comment faire, mon but final étant de résoudre un système linéaire AX = B avec A étant la matrice N*N et X et B des vecteurs colonne de dimension N.

    Sinon je gère mes images avec OpenCV, peut être y a-t-il des fonctions intégrées à OpenCV?

    Merci pour ceux qui on eu le courage de me lire jusque là!

  2. #2
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par jexxo Voir le message
    Bonjour,

    C'est encore moi et j'ai encore un problème avec Eigen

    Je travail sur une appli qui manipule des images. A partir de mon image je créer une matrice dont les dimensions sont N*N avec N étant le nombre de pixels de mon image. Du coup pour une image 100*200 pixels, ma matrice doit avoir pour dimension 20000*20000. Lors de l'allocation j'ai alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception non gérée à 0x7c812afb dans LocalAdjustment.exe*: Exception Microsoft C++*: std::bad_alloc à l'emplacement mémoire 0x0012f53c..
    20000*20000 = 400 000 000 d'elements. Pas etonnant. Si ta matrice est creuse, essaie de trouver une interface qui te permet de n'en donner que les elements non nuls, sinon, passe en 64 bits.

  3. #3
    Membre émérite Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Par défaut
    Pour information (matrices creuses d'Eigen) :
    http://eigen.tuxfamily.org/dox/TutorialSparse.html

    Sinon, pour compléter ce que dit Jean-Marc, essaie de voir si ton gros système peut pas se ramener à la résolution de plusieurs "petits" systèmes linéaires indépendants, peut-être ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12
    Par défaut
    Ok merci je vais essayer les matrices creuses étant donné que sur chaque ligne au maximum 5 valeurs sont non nulles (le pixel considéré et ses 4 voisins).

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Par défaut
    A vrai dire, c'est pour toi la seule alternative jouable... Bonne nouvelle, ça va aller a priori plus vite

  6. #6
    Membre émérite Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Par défaut
    Ah bah voilà tout est bien qui finit bien

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

Discussions similaires

  1. Sauvegarde d'une TRÈS grosse matrice
    Par Djeu Kuru dans le forum MATLAB
    Réponses: 2
    Dernier message: 12/03/2013, 10h47
  2. Exporter très grosse matrice creuse
    Par JaimeLannister dans le forum MATLAB
    Réponses: 4
    Dernier message: 18/07/2011, 15h21
  3. Gestion de très grosse table
    Par Arni23 dans le forum Requêtes
    Réponses: 11
    Dernier message: 04/06/2007, 20h41
  4. Sauvegarde très grosse bdd
    Par creezeer dans le forum Administration
    Réponses: 7
    Dernier message: 27/07/2006, 16h24
  5. Base de donnée très grosse 1 gig et sans raison
    Par kissmytoe dans le forum Access
    Réponses: 5
    Dernier message: 29/03/2006, 07h31

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