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

MATLAB Discussion :

Maximum variable size allowed by the program is exceeded.


Sujet :

MATLAB

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Points : 44
    Points
    44
    Par défaut Maximum variable size allowed by the program is exceeded.
    salut tous le monde,
    une message d'erreur incompréhensible m'apparaît
    ??? Error using ==> unknown
    Maximum variable size allowed by the program is exceeded.

    Error in ==> affichage_pic2D at 46
    D=zeros(36000,36000);
    est ce que ça signifie que le programme n'accepte pas des matrices de telle dimension 36000 -36000 (cette dimension représente le nombre de pixel des images traités) mais pourquoi
    SVP, je ne comprends pas cette erreur et comment la corriger
    Veuillez m'aider
    codialement

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Citation Envoyé par naim2009 Voir le message
    est ce que ça signifie que le programme n'accepte pas des matrices de telle dimension 36000 -36000 (cette dimension représente le nombre de pixel des images traités)
    Oui c'est tout à fait cela.
    C'est une limitation qui peut être du soit à une limite fixée directement dans MATLAB (sur du 32-bits ONES et ZEROS ne peuvent générer des matrices de plus d'environ 400 million d'éléments) ou des spécifications de la machine.

    As-tu réellement besoin de créer une matrice aussi grande ?

    Un peu de lecture : Out of memory. Type HELP MEMORY for your options.

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Points : 44
    Points
    44
    Par défaut maximum variable exceeded
    Salut,

    Est-ce qu'il s'agit d'une limitation de ma machine (2 GO de Ram) ou une limitation de MATLAB?

    Citation Envoyé par Caro_Line
    As-tu réellement besoin de créer une matrice aussi grande ?
    oui j'ai besoin de toutes cette dimension pour ne pas perdre des information significatifs de l'image

    SVP, y'a t-il une solution?

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Essaye dans ce cas de travailler par morceaux de ton image pas sur toute ton image entière.

  5. #5
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    des matrices de telle dimension 36000 -36000
    Est-tu tout à fait certain d'avoir simultanément en mémoire toutes ces valeurs?
    Jean-Marc Blanc

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 895
    Points
    52 895
    Par défaut
    Citation Envoyé par naim2009 Voir le message
    Est-ce qu'il s'agit d'une limitation de ma machine (2 GO de Ram) ou une limitation de MATLAB?
    Tu semble travaillé sur une machine 32 bits...

    La mémoire qu'un programme peut utiliser est donc théoriquement limitée à 2^32-1 soit environ 4Go. En pratique, cette quantité est réduite de 1/3 voir de moitié. Et en pratique encore plus pratique (), cette quantité est encore diminuée un peu (faut bien de la place pour faire fonctionner MATLAB en plus de ton programme )

    Donc toi, a priori, tu souhaites stocker une matrice 36000x36000 avec des valeurs de classe Double (64bits soit 8 octets par valeur).

    La quantité de mémoire nécessaire serait donc :
    36000x36000x8/1024/1024/1024 = 9 Go (environ)

    Donc soit tu diminues la taille de ton problème, soit tu utilise une classe de variable moins gourmande en mémoire, soit tu achète une machine 64 bits

    Dans ton cas précis, les images peuvent souvent être stockées avec des valeurs positives ou nulles de classe uint8 ou uint16

    Ce qui donnerait en quantité de mémoire nécessaire :

    En uint16 : 36000x36000x2/1024/1024/1024 = 2.5 Go (environ)
    En uint8 : 36000x36000x1/1024/1024/1024 = 1.2 Go (environ)

    Ce serait déjà bien mieux, non ?

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Points : 44
    Points
    44
    Par défaut maximum variable exceeded
    salut,
    Merci pour votre réponse
    Citation Envoyé par Dut Voir le message
    Dans ton cas précis, les images peuvent souvent être stockées avec des valeurs positives ou nulles de classe uint8 ou uint16
    Donc il faut que je transforme chaque image en précision unit8
    comment je peux les transformés en unit8?
    et est ce qu'il y a risque de perte des informations importantes de l'image?
    Cordialement

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 895
    Points
    52 895
    Par défaut
    Citation Envoyé par naim2009 Voir le message
    Donc il faut que je transforme chaque image en précision unit8
    comment je peux les transformés en unit8?
    et est ce qu'il y a risque de perte des informations importantes de l'image?
    Tout dépend de la nature de ces images...

    Comment sont-elles créées ?
    Quel est leur format ?
    Quel est la plage maximale des valeurs des pixels ?

  9. #9
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Points : 44
    Points
    44
    Par défaut maximum variable exceeded
    salut,
    la base de données des images c'est elle de l'université de l'essex, elles ont la format JPEG et la resolution 200*180 pixel
    cordialement

  10. #10
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 895
    Points
    52 895
    Par défaut
    Citation Envoyé par naim2009 Voir le message
    la base de données des images c'est elle de l'université de l'essex
    Tu pourrais nous donner le lien vers le site où on pourrait les télécharger ?

  11. #11
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Points : 44
    Points
    44
    Par défaut maximum variable exceeded
    salut,
    voici le lien de la base de données des images:
    http://cswww.essex.ac.uk/mv/allfaces/index.html

  12. #12
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 895
    Points
    52 895
    Par défaut
    Je ne trouve pas d'image 36000x36000

    Les images font soit 180x200, soit 196x196

  13. #13
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Points : 44
    Points
    44
    Par défaut maximum variable exceeded
    salut,
    oui c'est vrai la résolution des images est en faite 200*180 mais la méthode de filtre de corrélation exige l'utilisation d'une matrice dont le nombre de lignes est 200*180=36000 et le nombre de colonnes égale encore 200*180=36000
    j'ai pensé de faire imresize(img, 60,60) mais je crains la perte des information du visage qui sont utiles pour la reconnaissance.

Discussions similaires

  1. Service web ASMX The maximum message size quota
    Par ralf91 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 17/08/2011, 17h25
  2. Maximum variable size allowed by the program is exceeded
    Par stephane2000 dans le forum Signal
    Réponses: 3
    Dernier message: 26/07/2011, 21h56
  3. Operation Is Not Allowed In The Context
    Par jam92400 dans le forum Access
    Réponses: 1
    Dernier message: 22/05/2006, 11h16
  4. [VB]Mettre un variable.size dans un entier...
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/02/2006, 10h13
  5. Réponses: 8
    Dernier message: 21/11/2003, 18h38

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