1) Couleurs et codage RVB
La rétine de l’œil comporte des récepteurs de couleurs (les cônes) uniquement sensibles aux trois couleurs rouge, vert et bleu. C’est à partir de ces trois couleurs dites primaires que le cerveau interprète toutes les gammes de couleurs.
Cette animation illustre la synthèse additive des couleurs. Les disques de couleur représentés peuvent être assimilés à des projecteurs déplaçables
La reconstitution des couleurs est basée sur la synthèse additive des couleurs. Les curseurs glissants permettent de régler les niveaux d’intensité pour chaque couleur (Rouge, Vert, Bleu).
Rouge, Vert et Bleu sont les trois couleurs primaires. Comme l’indique la simulation synthèse additive des couleurs, leur mélange permet de générer quatre autres couleurs: Le cyan (vert+bleu), le magenta (bleu + rouge), le jaune (rouge + vert) et le blanc (somme des trois)
Les couleurs dites primaires du peintre(secondaires pour l’œil et le physicien) sont le cyan le magenta et le jaune.
Cette animation illustre 2 aspects de la théorie des couleurs: La synthèse additive et soustractive. Cliquer sur une couleur pour la sélectionner. Le rouleau adopte alors cette couleur.
choisir un filtre puis prévoir la couleur avant de le sélectionner.
2) Caractéristiques d’une image numérique
Rechercher une définition pour chacun des termes ci-dessous
- pixel
- définition d’une image
- résolution d’une image
- taille d’une image
métadonnées exif d’une image
comment lire les données exif pour obtenir des informations éventuellement enregistrées dans le fichier image?
en ligne : http://exif.regex.info/exif.cgi
sur un smartphone:
android : photo exif editor
macos : exif viewer lite
avec un programme python :
télécharger l’image : romarin.jpg
from PIL import Image from PIL.ExifTags import TAGS image = Image.open("romarin.jpg") exifdata = image.getexif() for tagid in exifdata: tagname = TAGS.get(tagid, tagid) value = exifdata.get(tagid) print(f"{tagname:25}: {value}")
Enregistrer le programme python ci-dessous dans le même dossier que l’image puis exécuter le code.
3) traitement d’image numérique
Pour démarrer les activités vous devez télécharger les trois images ci-dessous.
La photo de Lena sert d’image de test pour les algorithmes de traitement d’image au niveau industriel et scientifique.
Pillow (ou PIL ) est une bibliothèque python de traitement d’image, qui est est conçue de manière à offrir un accès rapide aux données contenues dans une image, et offre un support pour différents formats de fichiers tels que PPM, PNG, JPEG, GIF, TIFF et BMP.
Activité 1
Le code python ci-dessous vous permet de générer une image. Tester le code puis effectuer des modifications pour mieux comprendre. De quelle couleur est l’image ?
# On importe la librairie PIL from PIL import Image # On crée un objet Image au format RVB (RGB en anglais) img = Image.new("RGB", (200,100)) # on peut obtenir la définition de l'image 200x100 colonne=img.size[0] ligne=img.size[1] print(colonne) print(ligne) #on affiche l'image img.show()
Activité 2
Par défaut les pixels sont noir. Une fonction putpixel() permet de choisir la couleur d’un pixel. Tester le code ci-dessous.
from PIL import Image img = Image.new("RGB", (80,80)) img.putpixel((40,40),(255,0,0)) img.show()
Activité 3
Comment créer un damier de pixels blancs et noir ? Tester le code ci-dessous puis expliquez le. Proposez éventuellement votre propre code.
for i in range(80): for j in range(80): if((i+j)%2==0): img.putpixel((i,j),(0,0,0)) else: img.putpixel((i,j),(255,255,255)) img.show()
Activité 4
Pour obtenir une image en niveaux de gris il suffit de faire la moyenne pour chacun des pixels des composantes R,V et B . Il faut ensuite attribuer cette moyenne à chacun des sous pixels R, V et B. Convertir les lunettes puis Lena en niveaux de gris. Il faut pour cela compléter (ligne 13) le code ci-dessous
from PIL import Image img1=Image.open('lunettes.jpg') colonne=img1.size[0] ligne=img1.size[1] for i in range(colonne): for j in range(ligne): pixel=img1.getpixel((i,j)) R=pixel[0] V=pixel[1] B=pixel[2] moy= img1.putpixel((i,j),(moy,moy,moy)) img1.show()
Activité 5
Dessiner le drapeau Français avec une définition 164×85
Retouchez le drapeau que vous avez téléchargé pour obtenir le drapeau Français puis le drapeau Italien