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 :

Fonctionnement de Imresize


Sujet :

Images

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Fonctionnement de Imresize
    Bonjour,

    J'espère me pas faire taper sur les doigts en posant cette question... mais j'aimerais savoir comment fonctionne imresize.

    En fait j'ai une matrice de 0 et de 1, qui correspond à des pixels "passant" et des pixels "non passant".

    Pour travailler a des échelles différentes, j'utilise imresize.

    Dans un de mes cas, le facteur est 2.4. Ma question "existentielle" est alors comment imresize fait pour gérer les "morceaux" de pixel ?

    Car évidement je ne peux pas avoir une moitié de pixel passant... J'ai pu voir qu'il y avait différent type d'option à imresize et j'utilise alors nearest... Car je dois absolument garder des 0 et des 1 et pas faire d'interpolation lorsque je change d'échelle.

    Mais cette question me dérange, car à chaque fois je me retrouve obligé d'utiliser à un moment ou un autre des facteurs décimaux (genre travailler avec une image au 1/10e...)

    Quelqu'un peut-il m'aider à comprendre, ou m'aider à trouver une solution pour que je garde ma matrice sans déformation ?

    Merci d'avance !

  2. #2
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 18
    Points : 10
    Points
    10
    Par défaut matlab
    Salut!
    je travail à peu de chose près sur le même sujet... Est-ce que tu as trouvé une solution à ton problème?

  3. #3
    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 : 52 882
    Points
    52 882
    Par défaut
    Ces interpolations sont les même qu'avec les fonctions INTERP1 ou INTERP2

    Un exemple sur un simple sera plus parlant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    X = [0 1 1 1 0 1]
     
    nX = numel(X);
     
    r = 1:nX
    ri = linspace(1,nX,10)
     
    Xi = interp1(r,X,ri,'nearest')
    donne :
    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
    18
    X =
     
         0     1     1     1     0     1
     
     
    r =
     
         1     2     3     4     5     6
     
     
    ri =
     
        1.0000    1.5556    2.1111    2.6667    3.2222    3.7778    4.3333    4.8889    5.4444    6.0000
     
     
    Xi =
     
         0     1     1     1     1     1     1     0     0     1
    Pour chaque valeur de ri, on cherche la valeur de X correspondant à la valeur de r la plus proche.

    Soit encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    idx = round(ri)
    X(idx)
    qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    idx =
     
         1     2     2     3     3     4     4     5     5     6
     
     
    ans =
     
         0     1     1     1     1     1     1     0     0     1
    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)

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/06/2003, 16h51
  2. Réponses: 5
    Dernier message: 14/05/2003, 14h51
  3. [Turbo Pascal] TP7 fonctionne en QWERTY
    Par callahan dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 08/02/2003, 21h49
  4. Prb de fonctionnement dans SaveDialog avecInitialDir
    Par boyerf dans le forum Composants VCL
    Réponses: 4
    Dernier message: 12/12/2002, 21h46
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

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