Bonjour,

Je travaille sur un projet avec des Images PIL, et plus précisément leur équivalent en chaîne de bytes.
Un petit exemple avec une capture de webcam comme image :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
import pygame.vidcap as vidcap
import PIL.ImageTk as ImageTk
 
def GetImage(cam) :
    buffer, width, height = cam.getbuffer()
    if buffer:
        return ImageTk.Image.fromstring('RGB', (width, height), buffer, 'raw', 'BGR', 0, -1)
 
dev = vidcap.new_Dev(0,0)
img = GetImage(dev)
print('Dimension : ', img.size[0],' x ',img.size[1])
bit=img.tobytes()
print('Taille (octets) :',len(bit))#et c'est là que c'est intéressant
En faisant ceci, j'obtiens :
Dimension : 640 x 480
Taille (octets) : 921600

Or 640*480=307200. Je pourrais économiser près du tiers de sa taille en prenant des images en 256 couleurs, je me demandais si c'était possible. Si oui, avec quelle fonction ?

Merci d'avance.