Transformer une matrice en image
Résolu
Maati
-
jee pee Messages postés 41520 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41520 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.
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:
- Matrice image
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
- Légender une image - Guide
- Image gratuite - Guide
1 réponse
Bonjour,
Il existe peut être dans la bibliothèque des fonctions pour le faire ? mais à la main :
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')