Nov 24, 2024

Wiki

Python

Aide

edit SideBar

Search

Pywavelets


Dans ce qui suit, on ouvre une image, que l'on convertis en niveaux de gris, avant de lui appliquer une transformée en ondelettes discrètes (DWT), de la famille daubechie 1, de niveau 2.

  >>> import Image as im
  >>> import pywt
  >>> from numpy import *

  >>> dd=im.open('cover.jpeg')
  >>> dd=dd.convert('L')

  >>> mat = array(dd.getdata()).reshape(dd.size)
  >>> mat.shape
  (300, 300)
  >>> cA2,(cH2,cV2,cD2),(cH1,cV1,cD1) = pywt.wavedec2(mat,
                                                      'db1',level=2)

Dans ce qui précède, cAn est la matrice d'approximation, cHn, cVn et cDn sont les matrices de détail, respectivement horizontal, vertical et diagonal (n est le niveau de décomposition).

On remplace alors la matrice cH1, par des zéros, et on reconstruit l'image :

  >>> CH1=zeros(cH1.shape)
  >>> zz=im.new('L',dd.size)
  >>> zz.putdata(pywt.waverec2((cA2,(cH2,cV2,cD2),(CH1,cV1,cD1)),
                               'db1').flatten())

On affiche l'original, et l'image modifiée...

  >>> zz.show()
  >>> dd.show()

Page Actions

Recent Changes

Group & Page

Back Links