tite fractale

Traitement de l’image avec Processing

1. Image et pixels

1.1. Charger et afficher une image

1.2. Taille de l’image

Les variables de type PImage ont des attributs. Parmi eux :

On y accède avec :

En affichant ces deux valeurs avec println, nous pouvons fixer la taille parfaite de notre animation (avec size).

1.3. Pixels

Questions :

2. Traitement de l’image

2.1. Parcours des pixels

for (int i = 0; i < pixels.length; i++) {
  ...
}
updatePixels();

Ici, la variable entière est déclarée et initialisée dans l’instruction for.

Le code placé sur les points de suspension sera exécuté, puis i va être incrémentée (i++) tant qu’elle sera strictement plus petite que la taille du tableau (i < pixels.length).

À chaque tour, pixels[i] sera un des pixels de l’animation, le i+1ème.

L’instruction updatePixels() va afficher à l’écran les pixels contenus dans pixels.

2.2. Couleurs

2.2.1. Monochromes

À la place des ..., affectez à pixels[i] la valeur color(0).

Essayez une autre valeur que 0.

2.2.2. Hasard

Créez une image où chaque pixel a une couleur aléatoire.

2.2.3. NB

À la place des ..., affectez à pixels[i] la valeur color(m) ou m est la moyenne des canaux rouge, vert et bleu.

On peut aussi ne permettre que deux niveaux de gris : 0 (noir) et 255 (blanc). Utilisez une instruction conditionnelle (if) et testez quelques seuils.

2.2.4. Composantes

À la place des ..., affectez à pixels[i] la valeur color(x) ou x est un des canal (rouge, vert ou bleu).

2.2.5. Sépia

Réalisez un filtre sépia.

2.2.6. Rétrécir

Afficher une image réduite de l’originale dans le coin en haut à gauche.

2.3. Géométrie

2.3.1. Un essai

Recopier les pixels de pixels, mais dans le sens inverse avec cette boucle :

for (int i = 0; i < pixels.length; i++) {
  pixels[i] = pixels[taille - 1 - i]
}
// où `taille` est le nombre de pixels de votre image

Que se passe-t-il ? Pourquoi ?

2.3.2. Tableau tampon

Pourrez-vous coder :

3. Liens

A suivre...




Christophe Gragnic, le 07/01/2016, 10h56'40".






Page générée le 04/12/2016, 10h08'07" (source).
historique de la page
historique global

 TogetherJS