Bonjour
J’essaie de traduire cet algorithme en Processing (Transformation Fourier 2D).
Voici le dernier stade de mes lamentables tentatives (ça ne donne qu’une image toute noire pour l’instant):
PImage f; PImage F; float j = sqrt(-1); int M; int N; void setup(){ size(300, 300); f = loadImage("image.png"); F = createImage(300, 300, RGB); M = f.width; N = f.height; } void draw(){ f.loadPixels(); F.loadPixels(); for(int x = 0; x < f.width; x ++){ for(int y = 0; y < f.height; y++){ int loc = x + y * f.width; color c = (int) brightness(f.pixels[loc]); float d = (1/(M*N)) * c * exp(-j * 2 * PI * (x*x/M + y*y/N)/N); F.pixels[loc] = color(d); } } F.updatePixels(); image(F, 0, 0); }
Je bloque sur plusieurs points et surtout celui là:
je n’arrive pas à donner donner des valeurs raisonnables pour Processing à cause de j ∈ C,
j = (√-1) qui retourne « NaN » en consolie… Comment contourner le problème des nombres complexes ?
Et… surtout… suis-je sur la bonne voie?…
Merci beaucoup !
Hors ligne
Hmm. Je remarque que le GLSL n'a pas l'air dérangé par √-1. Je vais tenter ma chance avec les shaders… Hmm. Mais je me demande si c'est possible de faire ce que j'ai commencé à entreprendre avec Processing.
Hors ligne