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

Images Discussion :

[imresize] Précisions sur l'argument 'nearest'


Sujet :

Images

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Points : 44
    Points
    44
    Par défaut [imresize] Précisions sur l'argument 'nearest'
    Je débute en matlab, La taille de mon image réel est très grand c’est pour cela j’utilise la fonction imresize de matlab
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Im=imresize(ImageReel,[384 512],'nearest');
    Avec le paramètre ‘nearest’ est ce les valeurs des pixels de nom image réduit serons changées ou bien non le paramètre ‘nearest’ ne change pas les valeurs des pixels ??

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Avec l'option "nearest", MATLAB affecte juste à chaque pixel de la nouvelle grille de pixels la valeur du pixel le plus proche dans la grille initiale.

    Il n'y a donc pas de modification des valeurs... juste augmentation ou diminution du nombres de pixels.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Points : 44
    Points
    44
    Par défaut
    Pouvez vous m'expliquez avec un petit exemple dans le cas de la réduction de la dimension de l'image par la moitié, comment il le fait?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Prenons un cas 1D avec la fonction INTERP1 dont le comportement est (presque) identique à IMRESIZE :

    Soit 10 valeurs définies comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    x = 1:10
    y = linspace(21,30,10)
    x =
    
         1     2     3     4     5     6     7     8     9    10
    
    
    y =
    
        21    22    23    24    25    26    27    28    29    30
    Si on souhaite réduire de moitié le nombre de valeurs, on peut faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xi = linspace(1,10,5)
    yi = interp1(x,y,xi,'nearest')
    xi =
    
        1.0000    3.2500    5.5000    7.7500   10.0000
    
    
    yi =
    
        21    23    26    28    30
    Avec l'argument 'nearest', pour chaque valeur de xi, MATLAB cherche la valeur dans x la plus proche et retourne la valeur de y correspondante dans yi.

    Par exemple, pour xi=7.75, la valeur de x la plus proche est 8, dont la valeur de y correspondante est 28. Donc pour xi=7.75, yi=28.

    IMRESIZE fait la même chose en 2D (ou en 3D dans le cas des images en couleurs vraies type RGB)
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    343
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 343
    Points : 44
    Points
    44
    Par défaut
    Merci Dut pour l'explication j'ai bien compris l'exemple mais j'ai pa pu faire un analyse avec imresize d'une image comme vous m'avez expliquez.
    par exemple j'ai une matrice (image) contenant les valeurs suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    A= 1 2 3 4 
         5 7 9 3 
         7 3 2 2
         9 4 3 2
    quel sont les nouveaux valeurs lorsque je vais faire le imresize avec 'nearest' on diminuant la taille par la moitié et ma matrice devient de taille 2*2 et comment je vais les choisir avec le plus proche??

Discussions similaires

  1. Précision sur Oracle 9iAS r2
    Par Patmane dans le forum Oracle
    Réponses: 9
    Dernier message: 18/03/2007, 04h41
  2. Précisions sur l'Override
    Par WebPac dans le forum Langage
    Réponses: 7
    Dernier message: 26/10/2004, 08h09
  3. Précisions sur Import/export
    Par electro dans le forum Import/Export
    Réponses: 9
    Dernier message: 15/10/2004, 13h34
  4. [Observateur] Précisions sur le design pattern Observer [UML]
    Par joquetino dans le forum Design Patterns
    Réponses: 2
    Dernier message: 07/10/2004, 22h35
  5. Précision sur les sauvegarde à chaud
    Par alxkid dans le forum Administration
    Réponses: 2
    Dernier message: 09/08/2004, 18h55

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