Bonsoir,
J'utilise la lib PIL pour ouvrir et enregistrer des JPEG.
J'utilise aussi Pywt pour faire le transformée en ondelettes discrète.
Le truc, et c'est mon problème, c'est que je sais convertir chaque composante (R,G,B) de mon image, et je souhaite recréer une image réduite de moitié par les ondelettes.
Malheureusement, cette dernière étape ne fonctionne pas, je pense que c'est dû au fait que la fonction pywt.dwt() me renvoie une liste (à priori) de double, et qu'il me faut des int.

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
19
 
R,G,B=im.split();
 
R=list(R.getdata());
G=list(G.getdata());
B=list(B.getdata());
 
(RA,RD)=pywt.dwt(R,'db2','sp1')
(GA,GD)=pywt.dwt(G,'db2','sp1')
(BA,BD)=pywt.dwt(B,'db2','sp1')
 
#C'est normal, la suite, je réagrandi avec erreur
 
RA=pywt.idwt(RA, None, 'db2', 'sp1')
GA=pywt.idwt(GA, None, 'db2', 'sp1')
BA=pywt.idwt(BA, None, 'db2', 'sp1')
 
comp=(RA,GA,BA) # ICI, ça ne passe plus
imgnew = Image.merge('RGB',comp)