Transformer une matrice en image

Résolu
Maati -  
jee pee Messages postés 41325 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
J'aurais besoin de savoir comment convertir une matrice en image.
J'ai a disposition une matrice carrée de 20 par 20, et je voudrais que chaque chiffre de cette matrice soit transformé en carré (pas forcement de la taille d'un pixel) de couleur.
Par exemple, une matrice 3 par 3 telle que
[0, 0 , 0]
[0, 000090, 0]
[0, 0, 0]

formerait une image toute noire sauf au centre un carré bleu (correspond au code RGB)
Je m'excuse par avance si mes propos ne sont pas suffisamment clairs
Merci de vos réponses.

Configuration: Windows / Chrome 89.0.4389.114
A voir également:

1 réponse

jee pee Messages postés 41325 Date d'inscription   Statut Modérateur Dernière intervention   9 660
 
Bonjour,

Il existe peut être dans la bibliothèque des fonctions pour le faire ? mais à la main :

from PIL import Image
liste = [[0, 0, 255],[0, 90, 65535],[0, 0, 16777215]]
coef = 100
image = Image.new("RGB",(len(liste[0])*coef,len(liste)*coef))
for ligne,col in [(x,y) for x in range(len(liste)) for y in range(len(liste[0]))]:
    couleur = liste[ligne][col]
    couleurs = (couleur//(256*256),(couleur-(couleur//(256*256))*256*256)//256,couleur%256)
    for x,y in [(x,y) for x in range(coef) for y in range(coef)]:
        image.putpixel((col*coef+x, ligne*coef+y), couleurs)
image.show ()
image.save('image.png') 

1