Voici un exemple de début de programmation de filtre photo pour un projet en classe :
> On peut ajouter vieillir l’image
> faire une image miroir à partir du milieu de l’image
> faire un flou sur le tour de l’image (on pourra choisir la largeur de floutage)
> réaliser un filtre anti-yeux rouges
> réaliser un passage en niveaux de gris sauf un élément (comme par exemple le taxi jaune dans NYC)
Voici un début :
– la touche N permet de passer en noir et blanc
– la touche G permet de passer en niveau de gris
– …
Bien à vous !
Avec le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | // modifié le 10.12.2016 par Frédéric Ferré var img; // Declare variable 'img'. var x, a, y,r ; // entiers var couleur; //RBG var bouton1, bouton2, bouton3, bouton4; // bouton var rSlider ; // slider (ascenseur) var champtexte ; // champ de texte function preload() { img = loadImage("img.png"); // Load les images i mg2 = loadImage("img.png"); } function noiretblanc() { img.loadPixels(); img2.loadPixels(); for (var x = 0; x < img.width; x++) { for (var y = 0; y < img.height; y++) { couleur = img.get(x, y); // recupere la couleur d'un pixel en x,y , couleur contient RGB. if ((red(couleur) + blue(couleur) + green(couleur)) / 3 > r) { img2.set(x, y, 255); } // red(couleur) niveau de rouge dans la couleur, ... else { img2.set(x, y, 0) } } } img2.updatePixels(); } function nivgris() { img.loadPixels(); img2.loadPixels(); for (var x = 0; x < img.width; x++) { for (var y = 0; y < img.height; y++) { couleur = img.get(x, y); // recupere la couleur d'un pixel en x,y , couleur contient RGB. img2.set(x, y, (red(couleur) + blue(couleur) + green(couleur)) / 3); // niveaux de rouge , bleu et vert } img2.updatePixels(); } } function saveimg(){ var name = champ_texte.value(); name=name+".png"; save(img2,name); // https://p5js.org/reference/#/p5/save } function setup() { createCanvas(720, 300); bouton = createButton('<h3>Noir et Blanc<h3>'); bouton.mousePressed(noiretblanc); bouton.position(img.width+50, 20); rSlider = createSlider(0, 255, 125); // valeur min , valeur max , longeur rSlider.position(img.width+50, 70); // position (x,y) bouton2 = createButton('<h3>Niveau de gris<h3>'); bouton2.mousePressed(nivgris); bouton2.position(img.width+50, 100); // bouton2.remove(); // pour enlever bouton4 = createButton('<h3>Sauvegarde<h3>'); bouton4.mousePressed(saveimg); bouton4.position(img.width+50, 220); champ_texte = createInput("Nom de fichier"); champ_texte.position(img.width+50, 150); } function keyTyped(){ if (key === 'n') { noiretblanc(); } else if (key === 'g') { nivgris(); } } function draw() { r = rSlider.value(); background(104, 103, 107); image(img2, img.width+200, 30); image(img, 30, 30); } |
Commentaires récents