Des images toutes rouges
On va transformer des images pour les rendre toutes rouges !
Tout d'abord, où trouver des images ? Le site Pixabay est une véritable mine d'or d'images libres de droit !
(attention à ne pas vous faire avoir pas les images sur le bandeau du haut : c'est de la pub)
Voici les images que j'ai choisi de transformer :
Pour les modifier on va utiliser une méthode point par point : chaque pixel de l'image sera traitée . C'est pas super optimal, mais c'est l'ordinateur qui fait le sale boulot donc on s'en moque ! (en vrai, on s'en moque pas : ne prenez pas des résolutions trop élevées ou le temps de traitement sera long)
Bon les choses sérieuses arrivent : du code Python.
Je vais tout mettre d'un coup pour plus de maniabilité , j'expliquerai le détail juste après.
Je dirai simplement que la chose primordiale à comprendre en Python c'est l'indentation : les lignes d'instructions sont plus ou moins décalées vers la droite pour structurer les blocs du code.
Oulala ça fait peur ! C'est sûr que ça fait beaucoup d'un coup, mais pour l'instant on ne va s'intéresser qu'à deux lignes : la 10 et la 11
10 : On récupère la couleur r,g,b du pixel. En informatique une couleur c'est un mélange de Red, de Green, et de Blue
11 : On définit la nouvelle couleur r,g,b du pixel à partir des anciennes valeurs r,g,b : ici on garde le Red à l'identique mais on supprime Green et Blue en les mettant à 0
Voilà le résultat obtenu :
Et ben oui c'est tout rouge ! Mais on reconnaît encore les formes.
Parlons en particulier de la fleur : l'image est très sombre. C'est normal puisqu'on a gardé que le Red sur une image qui à la base en contenait très peu (image dans les tons bleus)
A savoir : la couleur noire est codée par (0,0,0)
Si on veut une image rouge, mais claire et vive, voilà comment on remplace la ligne 11 :
r,g,b=b,0,0
Quelle est la différence ? La quantité de Red dans la nouvelle image sera égale à la quantité de Blue dans l'ancienne image. Ça ne veut pas dire que l'image sera bleue ; on met toujours 0 de Green et 0 de Blue. Mais les zones très bleues de l'ancienne image apparaîtront très rouge dans la nouvelle image. Voyez plutôt :
Et l'inverse est vrai : les ailes enflammées du guerrier contenaient très peu de bleu dans l'image de base, donc contiendront très peu de rouge dans la nouvelle image et seront sombres.
Bon, et maintenant , c'est quoi les autres lignes du code ? Ben en fait pas besoin de savoir ! Si vraiment ça vous intéresse je détaille tout dans le chapitre suivant. Mais ici je vais juste dire l'essentiel :
ligne 11 : La ligne à modifier pour obtenir des effets de transformation différents. Je vais évidemment en exposer d'autres ultérieurement.
ligne 15 : les noms des images à modifier, entre guillemets et avec l'extension (.jpg ou .png générallement)
Pour fonctionner le programme doit être dans le même dossier que les images.
Pour le lancer sous EduPython il suffit de cliquer sur le triangle vert dans la barre en haut !
Je mets en commentaire tout le code pour que vous puissiez le copier-coller, mais je ne suis pas sûr que l'indentation (=structure des espacements) ne survive. Faites y attention sans ça rien ne marche !
En espérant que vous avez compris et que c'était intéressant ! N'hésitez pas à poster des questions ou des remarques !
Bạn đang đọc truyện trên: AzTruyen.Top