Home>Programmation>Java>Ondelettes

Projet : analyse par Ondelettes (2)


Démonstration (applet) de l'analyse par ondelette de Haar

Algorithme

L'algorithme est un peu différent. Au lieu de : H = (a+b)/2 ; G = (b-a)/2,
on fait : H = a+b ; G = b-a,

L'inversion est calculée en conséquence

Les calculs sont effectués sur des entiers, ce qui évite les erreurs d'overflow et permet des valeurs négatives, et gardés comme tels pour l'itération suivante.

Démo (applet) :

Remarque : le programme tourne sans problème en tant qu'application, mais sous forme d'applet il est question d'accéder à un fichier local du poste client, ce qu'interdit le principe du Sandbox en Java. Le programme doit être modifié pour demander l'image au serveur. (voir entrée du blog : à faire).

- l'image est en RVB (jpeg), l'analyse se fait sur le canal R
- la version application affiche des commentaires (overflow, niveau d'analyse, ...), non adapté à l'applet
- une fonction seuil est disponible, méthode type pour extraire des points caractéristiques de l'image. Elle supprime les plus faibles valeurs, sur les derniers coefficients trouvés, ce qui n'est pas le plus efficace dans le but qui nous intéresse, mais on peut voir de quelle manière l'image se dégrade.


On peut vérifier :
- que la transformée est inversible (récupération de l'image d'origine)
- que l'ordre de transformation (H, V) n'importe pas : calculer la transformée sur V, sur H, inverser d'abord sur V, puis H, on récupère l'image d'origine
- que sur une image de 512=2^9 points on peut effectuer 9 analyses successives et revenir au signal d'Origine


Valid XHTML 1.0 Transitional