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

Traitement d'images Discussion :

Algorithm, isotropic undecimated wavelet transform


Sujet :

Traitement d'images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 126
    Par défaut Algorithm, isotropic undecimated wavelet transform
    Bonjour,

    Y a-t-il quelqu'un qui puisse m'expliquer l'algorithme IUWT de décomposition d'un signal 1D en ondelette isotropique "undecimated"?
    Est-ce le même algorithme que des ondelettes ordinaire ou faudra-t-il faire un traitement spécifique et itérer des étapes bien particulières?

    Merci de votre aide
    LH

  2. #2
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2008
    Messages : 26
    Par défaut
    Bonjour,

    est-ce réellement le terme isotropique ou isotrope. Si c'est isotrope, cela n'a pas de sens dans un contexte 1D car isotrope signifie que toutes les directions sont traitées de la même manière.

    Pour le coté non-décimé (undecimated), l'algo classique subi une modification : l'étape de sous-échantillonnage saute. Par contre à chaque échelle, la réponse du filtre utilisé est sur-échantilonnée. Par exemple
    échelle 1 : [g] = -1/2 1/2
    échelle 2 : [g] = 0 -1/2 0 1/2
    échelle 3 : [g] = 0 0 0 -1/2 0 0 0 1/2
    ...

    L'utilsation de cet algo permet d'obtenir une analyse invariante à translation, mais redondante.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 126
    Par défaut
    Bonjour,

    c'est la méthode appelée en anglais "2D Isotropic Undecimated Wavelet Transform", appliqué dans un premier temps au cas 1D (Donc, où l'isotropie n'est pas d'une importance primordiale).
    J'ai trouvé parmi mes lecture qu'il y a un autre nom pour parler de l'algorithme: l'algorithme à trous, je regarde cela de plus près. Merci pour les explications et votre aide :-).

    LH

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 126
    Par défaut
    Bonjour tout le monde
    Voilà le code IDL qui fait la décomposition avec algorithme à trou pour qui en auront besoin à l'avenir
    Code IDL : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    ;***************************
    pro IUWT, X, D, W
    Sig_in=double(X)
    W=fltarr(size(X,/dimension),D+1);
    h=float([1, 4, 6, 4, 1])/16.0     
    index=[0,1,2,3,4]
    n=5
    K=h
    cj=X 
    for i=0,D-1 do begin
      ck=convol(cj,k, /CENTER, /EDGE_WRAP)
      W(*,i)=cj-ck
      cj=ck 
      n=n*2-1
      print, n
      k= fltarr(n)
      index=index*2   
      k[index]=h
    endfor
    W(*,D)=cj 
    end
     
    ;********** 2D functions*************
    pro IUWT2D, X, D, W
    X=double(X)
    s=size(X)
    W=dblarr(s(1),s(2),D+1);
    h=double([1, 4, 6, 4, 1])/16.0     
    index=[0,1,2,3,4]
    k=h
    n=5
    cj=X      
    for i=0,D-1 do begin
       tmp=convol(cj,k, /CENTER, /EDGE_WRAP)
       ck=convol(tmp,transpose(k), /CENTER, /EDGE_WRAP)
       W(*,*,i)=cj-ck
       cj=ck
       n=n*2-1
       index=index*2
       k=fltarr(n)              
       k[index]=h
    endfor
    W(*,*,D)=cj 
    end
     
    ;*********************** 1D/2D Reconstruction *********************
    pro R_IUWT, W, Y
      ;Inverse Isotropic Undecimated Undecimated Wavelet Transform
      s=size(W)
      Y=total(W,s(0));
    end
     
    ;********* test programs 1D/2D IUWT+R_IUWT
    ;=========================================
    pro test1D, scales
    n=100
    x=fltarr(n)
    x(50)=16
     
    IUWT, x,scales,w
    R_IUWT, w,y
    !P.MULTI=[0,scales+3,1]
    for i=0, scales do begin
     plot, w(*,i)
    endfor
    plot,x
    plot,y
    print, total(x-y)
    end
    ;=========================================
    pro test2D, scales
    x=read_image('Enstein.jpg')
    IUWT2D, x, scales, W
    R_IUWT, W,y
    s=size(x)
    WINDOW, scales+4, XSIZE = (scales/2+2)*s(1), YSIZE = 2*s(2)
    for i=0, scales do begin
     tv, W(*,*,i),i
    endfor
    tv,x,scales+1
    tv,y,scales+2
    print, total(total(x-y),1)
    end
     
    ;;========Main program
    test1d,4
    test2d,5
    end

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/02/2011, 16h42
  2. dual tree complex wavelet transform
    Par coprisca dans le forum Images
    Réponses: 0
    Dernier message: 20/05/2008, 09h29
  3. Réponses: 3
    Dernier message: 02/08/2007, 23h41
  4. [STL][algorithm]for_each vs transform
    Par r0d dans le forum SL & STL
    Réponses: 6
    Dernier message: 25/07/2007, 11h52
  5. Problème lors de la transformation de mon "algorithm&qu
    Par prunodagen dans le forum Langage SQL
    Réponses: 8
    Dernier message: 27/04/2005, 21h48

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