Pages

Image en 256 couleurs (PIL) sujet

samedi 1 février 2014




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:


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.




Aucun commentaire:

Enregistrer un commentaire