Je me pose des questions à propos des couleurs en python.
Il doit y avoir la doc ad hoc sur le web, mais je ne connais pas les mots-clé adéquats.
En examinant des images au format png, je constate qu'il y a (au moins) deux encodages pour la couleur d'un pixel :
1] En RGB c'est un triplet d'entiers entre 0 et 255.
2] En "*** normalisé" (nom inconnu) c'est un réel entre 0 et 1.
2'] En "***" (nom inconnu) c'est un entier entre 0 et 255.
Pas de problème pour naviguer entre 2] et 2'], il suffit de multiplier par 255 / de normaliser.
Questions :
a) Comment se nomme le second système d'encodage ?
b) Comment passer d'un système à l'autre ? Bien entendu avec perte d'information pour 1] -> 2].
Objectif : transformer une image png "normale", c'est-à-dire encodée avec le système 1] (RGB), en une image encodée avec le système 2] (ou 2']).
Raison : le type 2] est plus facilement manipulable pour un TP d'Info (256 couleurs c'est déjà pas mal).
Rq : je ne cherche pas à faire un cours complet sur les différents types d'encodage. Je sais faire ce que je veux avec une image encodée par une matrice d'entiers (type 2']) et là j'ai une 2ème image en type 1] que j'aimerais traduire.
Merci par avance pour toute information !
Bien cordialement.
---------------------------------------------------------------------------
Code : Tout sélectionner
import matplotlib.pyplot as plt
import numpy as np
plt.clf()
image = plt.imread("prepaforever.png")
print("Matrice encodant l'image :")
print(image) # matrice contenant des triplets RGB