Ce 20 Décembre 2023, les versions conservant les tailles d'origine des images traitées, après la vidéo de présentation...
Alors, tant qu'on y est, puisque maintenant ma page d'accueil, ma première page à la date du Dimanche 17 Décembre 2023, ne contient que de l'informatique et plus du tout de musique, autant publier quelque chose autant d'utile que d'amusant...
Il s'agit de deux applications, utilitaires, programmes, qui bien que semblant donner des résultats identiques sont en fait totalement différents. Le premier, monochromise.py, part d'une image ou photo en couleurs quel que soit son format (en général JPEG .jpg ou PNG .png) et la rend monochrome avec une première étape en Noir & Blanc strict. Pour y arriver, je prends les valeurs RGB (Red, Green, Blue) de chaque pixel et j'en fais la moyenne entière soit quelque chose comme mono=int((R+G+B)/3) . Ensuite j'applique un filtre, l'un rouge ou pourpre (violet en fait) qui au lieu d'attribuer la valeur mono à l'ensemble des nouvelles valeurs RGB de l'image dérivée ne l'applique que au Rouge et au Bleu; puis un filtre jaune (Rouge et Vert) et un filtre bleu (Vert et Bleu).
Ce sont bien là quatre images monochromes, la première en Blanc & Noir, les trois autres avec comme un filtre par devant la première, qui sont générées et enregistrées sous un nouveau nom de fichier.
Voici le code-source Python sous module pygame de cette première contribution:
Fichier Python 3 .py
Le second utilitaire, application, programme, bien que semblant donner un résultat quasi-identique est tout autre: il extrait chacune des valeurs RGB de chaque pixel de l'image et n'en retient qu'une seule, une fois la Rouge, une fois la verte, une fois la bleue, pour générer trois fichiers images n'étant que les composantes strictes R, G, ou B de l'image de départ. Il ne s'agit pas d'une mise en monochrome, mais d'une extraction RGB!
Son code source comme le précédent:
Fichier .py (Python)
Évidemment il s'agit de versions généralistes qu'on pourra modifier (notamment la hauteur de l'image à utiliser). J'ai choisi ici une hauteur fixe de 540 pixels. Pourquoi? D'abord car il fallait une hauteur compatible avec un écran 1280x720 (le plus petit format 16:9 le plus répandu), ensuite car une hauteur de 540 pixels est compatible tant avec une image d'origine 16:9 (960x540) que 4:3 (720x540)!
Bref la vidéo ci-dessous pour voir le programme à l'oeuvre et comment ça fonctionne:
Alors, voici les versions conservant les tailles d'origine des images traitées et le format RGBA (et non plus RGB seul) des pixels. Tout en affichant à l'écran toujours un objet image originalaff et cibleaff, dérivés de original et cible, de 540 pixels de haut.
Il y a eu quelques difficultés, dont une chose que je ne m'étais pas rendu compte: puisque la manipulation des pixels a lieu depuis l'objet "original" vers l'objet "cible" (et ce dernier étant primitivement obtenu par un simple cible=original); je devais recharger l'image dans l'objet "original" avant chaque nouvelle manipulation!
Car, sinon, pour Tmonochromise.py j'obtenais des rouges (magentas), jaunes et bleus (cyans) "sales"; et, pour Textraction.py, seul le rouge était extrait, les deux dernières couleurs donnant un rectangle strictement noir!
Bref, voici les scripts Python pygame ici:
Help support Philippe Le Bihan by donating or sharing with your friends.
https://www.paypal.com/donate/?hosted_button_id=9KSRBKW3AZMBS
Si ces utilitaires ont pu vous être utiles...