Javascool floutage probleme programme
Résolu
chisukiwi
-
chisukiwi -
chisukiwi -
Bonjour,
je suis un élève de terminal s si avec option isn , je dois faire un programme pour dans 3 j , mon programme a pour but de flouter , c'est du Javascool voici ce que jai fais
sa ne floute que la parti superieur droit , la professeur na pas réussis a m'aider du coup je me tourne vers vous
je suis un élève de terminal s si avec option isn , je dois faire un programme pour dans 3 j , mon programme a pour but de flouter , c'est du Javascool voici ce que jai fais
int x; int y; void filtre() { int w = getWidth(); int h = getHeight(); println(h); println(w); int xtab[][][] = new int[w][h][3]; for (int y = 0; y < h; y ++) for (int x = 0; x < w; x ++) xtab[x][y] = getPixelColor(x, y); for (int j = 0; j < h; j ++) for (int i = 0; i < w; i ++) // filtrePixel(i,j); { int red = xtab[i][j][0]; int green = xtab[i][j][1]; int blue = xtab[i][j][2]; setPixel(i, j, red/4, green/4, blue/4); } } void main() { reset(500,500,false); load("http://2.bp.blogspot.com/_gx7OZdt7Uhs/TRtrw4MtylI/AAAAAAAAFlE/lS_Nn4lVSpE/s1600/desktop+wallpaper+mountain.jpg"); filtre(); }
sa ne floute que la parti superieur droit , la professeur na pas réussis a m'aider du coup je me tourne vers vous
A voir également:
- Javascool floutage probleme programme
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
1 réponse
Bonjour,
À l'avenir merci de préciser quelle proglet de Java's Cool tu utilises.
Ici je vais considérer que tu utilises codagePixels.
Ton problème est lié au système de coordonnées des pixels, dont je remets ci-dessous le schéma explicatif :

Les pixels vont de -width à +width en largeur et de -height à +height en hauteur, donc quand tu fais tes boucles de 0 à width et de 0 à height tu en oublies la moitié sur chaque dimension, ce qui explique pourquoi seul le quartier des x≥0, y≥0 est traité.
Remarque : le tableau xtab ne sert à rien, de plus il va te poser problème pour accéder aux x<0 et y<0, il vaut mieux t'en passer. Exemple :
Remarque : ce que tu fais ce n'est pas du floutage, tu assombris les couleurs mais l'image est toujours aussi net qu'avant.
À l'avenir merci de préciser quelle proglet de Java's Cool tu utilises.
Ici je vais considérer que tu utilises codagePixels.
Ton problème est lié au système de coordonnées des pixels, dont je remets ci-dessous le schéma explicatif :

Remarque : le tableau xtab ne sert à rien, de plus il va te poser problème pour accéder aux x<0 et y<0, il vaut mieux t'en passer. Exemple :
for (int y = -h; y <= h; y++) { for (int x = -w; x <= w; x++) { int[] rgb = getPixelColor(x, y); int red = rgb[0]; int green = rgb[1]; int blue = rgb[2]; setPixel(x, y, red/4, green/4, blue/4); } }
Remarque : ce que tu fais ce n'est pas du floutage, tu assombris les couleurs mais l'image est toujours aussi net qu'avant.
Déjà avec le code que je t'ai donné tu règles ton problème de départ, le traitement se fera bien sur l'intégralité de l'image, et non plus sur un quart?
"flouter l'image ne revien pas a divisé les couleur ?"
Si on raisonne dans ce sens, "déflouter" l'image reviendrait à multiplier les couleurs... c'est clairement insuffisant.
Tu pourrais d'ailleurs faire le test, d'abord tu divises puis tu multiplies, tu vas bien retomber sur la même image (plus ou moins), ça ne peut pas être du floutage.
Pour moi le flou cela correspond à une moyenne du pixel avec ses voisins.
Remarque : le choix des pixels choisis comme voisins et leur pondération respective dans le calcul de la moyenne donnera un flou plus ou moins pertinent.
Exemple :
Avec c[x][y] la couleur (red, green ou blue) du pixel [x][y]
1) au bord de l'image certains voisins n'existent pas
2) les voisins à considérer sont les pixels de l'image originale, n'utilise pas ceux que tu as déjà modifié au fur et à mesure de ta boucle.
je suis reparti du programme de base , c'est le programme floutage en noir et blanc parcontre il m'affiche une erreur concernant les "+" je n'st pas compris pourquoi
et voici un autre programme de base que la professeur ma envoyer pas plus tard que ya 10 minute
celui ci est pour inverser les couleur il fonctionne mais je ne vois pas la ou il fais le changement de couleur je penssais a fair une ligne de code
car vous m'aviez dit que ce n'est qu'une moyenne de couleur entre les pixel , pouriez vous m'indiquer si je suis dans la bonne voie ?
Remarque : ce code n'est pas utilisable tel quel, à cause de mon "attention 2)" de tout à l'heure. D'où l'utilité de copier les niveaux red/green/blue d'origine dans le tableau tab proposé dans le deuxième code.