Couleurs en python

Messages : 0

Inscription : 24 nov. 2016 16:48

Profil de l'utilisateur : Élève de lycée

Couleurs en python

Message par charles.cochet » 17 févr. 2017 23:06

Bonjour,

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

Messages : 9679

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Couleurs en python

Message par fakbill » 18 févr. 2017 00:30

Déjà un réel ça n'existe pas en info!!
Un nombre est codé soit en fixe soit en flottant sur un certain nombre de bit. C'est tout.

Ensuite :
https://en.wikipedia.org/wiki/Portable_Network_Graphics#Pixel_format
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Messages : 2471

Inscription : 27 juil. 2016 19:38

Profil de l'utilisateur : Élève de lycée

Re: Couleurs en python

Message par U46406 » 18 févr. 2017 09:15

[quote="fakbill"]PNG[/quote]
Merci pour le lien, concernant : indexed color images .

En français : les images à (palette de) couleurs indexées.

> palette à utiliser s'il s'agit d'une image dont les couleurs sont indexées.
https://fr.wikipedia.org/wiki/Portable_Network_Graphics
« Occupez-vous d’abord des choses qui sont à portée de main. Rangez votre chambre avant de sauver le monde. Ensuite, sauvez le monde. » (Ron Padgett, dans Comment devenir parfait) :mrgreen:

Messages : 0

Inscription : 24 nov. 2016 16:48

Profil de l'utilisateur : Élève de lycée

Re: Couleurs en python

Message par charles.cochet » 19 févr. 2017 17:24

Merci tout le monde pour ces informations.
Le problème est plus compliqué que prévu, mais grâce à vos remarques et liens j'y vois plus clair.

Messages : 9679

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Couleurs en python

Message par fakbill » 19 févr. 2017 19:47

Mais heu il doit bien exister une lib qui te donne directement la couleur RGB de chaque pixel non?
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Messages : 0

Inscription : 04 déc. 2013 16:01

Profil de l'utilisateur : Élève de lycée

Re: Couleurs en python

Message par jmctiti » 21 févr. 2017 08:44

Bonjour

En cherchant sur qwant avec les mots clé : python color rgb hsv

on tombe directement sur le lien suivant : https://docs.python.org/2/library/colorsys.html

hsv : h(ue) s(aturation) v(alue) est un codage de couleur assez courant

Bonne journée

Messages : 9679

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Couleurs en python

Message par fakbill » 21 févr. 2017 17:33

oui mais lA on veut lire ca depuis une image png.
Cela dit, je parie que la lib pillow de python fait ca tres bien :)
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Répondre