Javascool floutage probleme programme
Résolu/Fermé
A voir également:
- Javascool floutage probleme programme
- Programme demarrage windows 10 - Guide
- Programme démarrage windows 10 - Guide
- Ce message d'erreur apparaît sur l'ordinateur d'elena. que peut-on dire du programme gwxux ? - Forum logiciel systeme
- Fichier ouvert dans un autre programme - Guide
- Desinstaller un programme - Guide
1 réponse
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
29 mai 2016 à 20:01
29 mai 2016 à 20:01
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.
29 mai 2016 à 20:12
29 mai 2016 à 20:48
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.
Modifié par KX le 29/05/2016 à 21:26
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 ?
29 mai 2016 à 22:43
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.
29 mai 2016 à 23:11