Catégories
XUL X

Le bazare et la cathédrale, Olivier

Stand de vente œuvre d’art à 1€. [D1]
https://yamatierea.org/bazaretcathedrale

// La photo initiale a été puisée dans « One photo a day, every day » de Pierre Acobas.
// https://photos.acobas.net/One-photo-a-day-every-day/

// L’image finale, représente la même photo mais dont les pixels ont été remis dans
// le bon ordre, à savoir celui de la somme des composantes rouge, verte et bleue
// de leur couleur respective.

// Pour cela, le logiciel Processing a exécuté le programme suivant
// écrit par Olivier Baudu et publié sous les termes de la licence libre GPL v3.0

// Pierre et Olivier font partie du Collectif La Méandre : lameandre.org

PImage photo_initiale, image_finale;
int nbPixel;
int[][] tableau_de_pixel;

photo_initiale = loadImage(« photo_initiale.jpg »);
image_finale = createImage(photo_initiale.width, photo_initiale.height, RGB);

tableau_de_pixel = new int[photo_initiale.pixels.length][2];

photo_initiale.loadPixels();

for (int i=0; i<photo_initiale.pixels.length; i++) {
tableau_de_pixel[i][0] = int(red(photo_initiale.pixels[i]))
+ int(green(photo_initiale.pixels[i]))
+ int(blue(photo_initiale.pixels[i]));
tableau_de_pixel[i][1] = int(photo_initiale.pixels[i]);
}

java.util.Arrays.sort(tableau_de_pixel, new java.util.Comparator<int[]>() {
public int compare(int[] a, int[] b) {
return b[0] – a[0];
}
}
);

for (int i=0; i<photo_initiale.pixels.length; i++) {
image_finale.pixels[i] = tableau_de_pixel[i][1];
}

image_finale.save(« image_final.png »);

Besoin tecnique
1 plus ou moins longue table pour étaler les classeurs (la table rouge du credo par exemple)